High level language
It is not superior to other programming languages, instead it is just different and meant for different kind of applications than traditional programming languages.
While EnglishScript is powerful for higher level tasks it is good companion with traditional lower level programming languages which can handle heavy number crunching or massive bit manipulations. Therefore EnglishScript is created keeping eye on integrating it with other languages through proper APIs.
Uses English as a Reference
The EnglishScript programming language (shortly as ES) has adopted the basic structure and nature from the natural English language. ES is following and supporting the English language basics, but anchors its syntax to a programming language by making more strict rules and using a sub-set of the actual natural language to make ES more understandable as a programming language. As a programming language after all has to be unambiguous.
The ES is a deterministic programming language, which means that it is expected that any implemented application implemented with it provides always repeatable and deteministic results, no matter how many times and when the application is executed. It means that it is possible to determine the behaviour of the application simply by looking at its source code.
Therefore no statistical methods or other non-deterministic methods are used in the implementation of ES.
The ES language is an interpreted language, meaning that the source code is first compiled to a “binary” format that can then later be executed using an interpreter.
Since the ES compiler is incorporated in the ES runtime environment it is possible to change the application code on the fly while the application is running through proper input methods, e.g. to adjust the application logic accordinly for the changing environment or to let the application learn new things by itself or other applications.
Both functional and procedural
ES is both a functional and a procedural programming language. In the application this means that e.g. received messages from external environment can directly (without any extra code) trigger application to execute a sequence of activity (a procedure) on the background (on its own thread of execution) without affecting application’s other activities.
All in one
ES integrates application’s logic, data and communication protocol together. What does this mean? It means that ES uses English language for describing all of them. This makes it possible to integrate application’s logic and data together, no need for extra application code to convert application’s data to a format that the application’s logic can process. Also, since the application’s communication protocol uses ES language as a syntax for the sent messages, the application can directly send and receive both application logic and data (e.g. to remember them or to execute them) without any extra code for converting message content.