ASC is a general purpose programming language designed for creating programs that are stable, reliable, and portable. It supports multiple programming styles such as...
ASC targets critical software applications where a program must be consistent to a high degree. Usually this requires verifying some abstract model which is then implemented in some other programming langauge. But there are two well-known critical points of failure with this approach: the language used to implement the program is always more unreliable than the model and human error is introduced when translating the model to the implementation. ASC attempts to protect software from these failures by incorporating program modelling capabilities into the actual programming language itself. This allows engineers to create a model which is itself a working implementation. Once the model is complete, so is the program.
ASC has several features that make it stand out from modern programming languages:
ASC is designed standard-first which means that any change to the language is vetted before being incorporated. This provides two advantages, there will always be a single definitive resource on how the language works, and implementations of the language are not rendered unstable by feature prototypes. The standard documentation also explicitly has no versioning. This discourages implementations from becoming fragmented between different standard releases.
As mentioned previously, ASC incorporates modelling capabilities as a basic part of the language. This allows you to specify a variety of constraints on how a program can behave. Most of these constraints can be verified during compilation and then erased, which allows programs to remain both efficient and reliable.
ASC is designed to run on a virtual machine called IISC. The purpose of IISC is to provide a generic computer which can be easily mapped to many different hardware architectures. A program which targets the IISC architecture can generate one program which can then be distributed and run on many different machines without any extra effort. IISC is designed to be translated to native machine code, but it can easily be interpreted as well.
The ASC standard is written and maintained by the ASC Working Group. It's a free and open standard released under the GNU FDL. The standard is distributed as a set of standalone HTML5 webpages which can be read with any web browser.
You can read the standard documentation right now, on-line, with full access by clicking this link.
Official binaries are produced for GNU GPL, and GPL-compatible, licensed operating systems.
No official binaries are available for download currently.
Due to circumstances beyond the ASC Working Group's control, several popular proprietary and otherwise GPL-incompatible operating systems are used by many people. Some members of the ASC Working Group have generously donated their personal time when not working on official ASC releases to develop unofficial binary releases of ASC that depend on some GPL-incompatable operating systems.
Please be advised that, while these binary downloads do respect your freedoms, they depend on software and operating systems that do not and which may compromise your personal information and autonomy as a user.
No unofficial binaries are available for download currently.
Outside contributions are welcome. If you would like to contribute to the standard documentation, please read this section of the standard. You can submit proposals to this email. Please keep in mind that not every external proposal will be accepted, but including as many details as you can will definitely help. If your proposal is accepted, it may be some time before it is incorporated into a revision of the standard documentation.
If you would like ot become a volunteer member of the ASC Working Group, email a request with a description of your roles in previous projects of a similar nature. Please keep in mind, joining the working group is a highly subjective per-case decision made by the existing authors based on the merit of the candidate. The working group is very much intended to be exclusive to a small number of qualified and trusted individuals.
The ASC project is currently a part-time volunteer effort. There is not yet an established system for receiving financial contributions that legally guarantee your money is helping the project. If you are determined to donate, please contact us so an arrangement can be made.
This website and the ASC project are generously hosted by the GNU Project's Savannah hosting facility.
Inquire now about becoming a sponsor!
This webpage is © Copyright the ASC Working Group, 2021.