About

about_icon

High level language

EnglishScript is a high level programming language, higher than many other traditional programming languages like C/C++ and JavaScript. This means that the EnglishScript language is designed for implementing application for processing and solving of high level tasks and problems. It provides means for describing abstract entities, their relations, logic related to them and both functional and procedural means to interact with them.

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.

Deterministic

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.

Interpreted

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.

Post-programmable

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.