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...
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:
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.
- Linus Torvald about C++.
- Quotes about programming languages.
- Language checklist. Check your own creation.
- The dark path. This is a trend in new programming languages.
- Toolkits for the mind. The theory is that languages change the way programmers are thinking. This is not shown at all in the article, but there are some thinking about some languages.