How are made new programming languages

The creation of new languages ​from Java to C# and all others always follows the same process. But not necessarily the best.

The first thing to do is defining a good name. Remember this quote from Donald Knuth, author of The Art of Computer Programming:

The most important thing in the programming language is the name. A language will not succeed without a good name. I have recently invented a very good name and now I am looking for a suitable language.

Once you have the name ;) a strict procedure is followed to define a new language, always...

Consider the chart below...

creating a new programming language

The ergonomic study is to research how to minimize the risk of errors. Users would be asked what they expect from a new language and what they would like to see changed.

How it happens in fact:

creating a conservative programming language

Did you know that the designers of the Go language thought that it will be as a replacement for C++ and have therefore chosen to use the syntax in which C++ programmers are accustomed (without asking them if it suited them). It turned out that Go has become primarily a replacement for Python and Python programmers must therefore use the syntax familiar to C++ programmers. (Ref. Rob Pike). This shows the limitations of this approach.

The syntax of programming languages is desperately always the same with these cabalistic symbols that make reading difficult and mistakes easy. Semicolons at the end of the instructions for example is completely useless but required by the language.

Why this syntax? It was designed with C in order to save memory resources and reduce the processing time at the days of the early microprocessors. So  new languages ​​are designed for computers of the 70s, which sounds stupid, but is not more than the Qwerty keyboard where the keys are arranged to slow down typing to protect  typewriters of the 50s.

JavaScript and Go allows at least to remove semicolons. And Julia removes all this junk. Do not completely despair ...

Part 2: Creating a new language: Variable declaration.

Documents