Artel is a general purpose programming language that was designed by Nezaboodka Research team for use in innovative Big Data spreadsheet application. Principal new feature of the language is the concept of reactive operations that are automatically executed upon atomic change of reactive variables by a transaction.
The name Artel stands for Asynchronous, Reactive, Transactional, and Extensible programming Language. The rationale to design brand new programming language was as follows:
– For user experience reasons, we needed unified and easy syntax for both client-side and server-side computation formulas (to decorate and manipulate data respectively). So, we ended up with the syntax that is compiled on the fly for native execution in JavaScript and .NET runtimes. Artel doesn't impose its own libraries or frameworks, but re-uses them from underlying runtime.
– To make spreadsheet application usable by ordinary humans, we needed multi-national syntax that requires no English skills as a pre-condition to define computation formulas. So, we ended up with design decision that keywords and identifiers have synonyms in multiple natural languages and programs can be automatically and seamlessly translated into native language of a particular human: English, Russian, Spanish, etc.
– To keep the easiness of spreadsheets, we needed consistent and efficient approach for re-evaluation of formulas upon any change anywhere in the data. To do so, we developed a concept of transactional reactive programming and made it the first-class citizen in Artel programming language.
There were many other design choices that we made, but those listed above are the most differentiating from other programming languages.
We believe that programming language is the most important tool for human productivity in the digital world. It fundamentally affects the way we think, it forms habits, instills taste, and often has a touch of a religion. That is why it is important to have a language that combines ease of learning and industrial power, making it is suitable for both teaching programming and professional software development. And that's what Artel is about.
– Nezaboodka Research Team