Human-centric programming language

The syntax of the Script language was chosen to be close to human language and therefore easy to read and understand.

Aristotle. You can't do great things with short ideas.

Human orientation Script and old programming languages

Language was developed mainly for the purpose of being close to human thought. I applied Descartes' method of finding truth to find the cause of each characteristic of classical languages. If the element was adopted for a reason that no longer exists (for example, the slowness of processors), then this function is excluded from the language.
On the other hand, I don't want to use the new syntax just to change the language, I prefer to keep what programmers are used to if it works well. For example, I exhumed the keyword nil of a very old Lisp language (over 40 years!), Because nil is exactly what I need and I don't want to use new words just to be different.

Number and text (number and text)

Previous languages use variables of type: float, string, char, short, etc. (floating, string, character, short). This corresponds to memory areas and comes from the time when computers had a memory of 48 thousand bytes. Scriptol uses a simpler number and text, as well as real or integral (actual or whole), to distinguish numbers.

Type with name

Declaring a variable in Script is simple, as in C:

int i 

Or "an integer called i." New programming languages ​ ​ are finding it harder to write:

var i : int

"I create an integer type variable i." If we put it that way in ordinary life, it would give: "I have apartment-type housing." In one program, it really doesn't bring anything else.

Clean statements: no assignment inside expression

The if (x = y) statement in C++ assigns x y and tests whether x is worth 0. In Script, this is checked if x is y. The double operator = = is not used in Script.
C, then Java, PHP and C # allow you to mix conditions and actions. Example: if (A = B + 1) then... In human language: "If zero is not worth the variable A assigned to B plus 1, then..."
Such a complication of ideas is not allowed in Scriptol.
Statements are expressions in C and successors, not Script.

Increased assignment

Instruction x = x + 2, written x + 2 in Script. This is consistent with the thought. (Example: "my car was moved a kilometer," not "my car was moved from place to place plus a kilometer .")

Operators and symbols

Characters have one meaning in Script and are not reused for different operations as in other languages.

Multiple choice

Using special control structures, if composite and do case - never before implemented - Script allows you to structure the code in such a way that directly corresponds to thinking.

Semicolons

It was said that the program should have semicolons, because you use this punctuation when writing. But we don't record them in musical scores.
The real reason for the semicolon in programs, I believe, is to allow lines to be cut without kneading village compilers. But such a modern compiler as Scriptol is able to recognize the cut lines and, therefore, it does not need an ending except at the end of the line. Scriptol only needs semicolons to separate instructions in one line.

Multiple Returns

For some functions, it is obvious that they must return several values ​ ​ at once. For example, red, green, blue color components or x and y coordinates of a point... Thus, in order to apply human thinking, it is necessary to be able to assign several variables to call the function:

x, y = prendreCoordonnees()
rouge, vert, bleu = prendreRGB()

Scriptol, like other modern languages, allows this.