Do we need a new programming language? You may not think you need it, but if you go to the latest trends, you may change your mind. Why does Google use go and dart two programming languages? Why do IBM, Cray, and Red hat create the three languages of X10, Chapel, and Ceylon, respectively?
In the future, are these 10 programming languages (DART, Ceylon, go, F #, OPA, Fantom, Zimbu, X10, Haxe, Chapel) able to shake it. Are the new programming languages designed to meet the creative impulses of some people or the technological evolution of new programming methods?
Review of History
If you look back, we can see that the eruption of the new language divides history into 3 periods, each of which is linked to the tipping point of technological evolution.
Other important languages are in addition to the time points in the figure: (1) pascal–1970, (2) c–1972, (3) prolog–1972, (4) smalltalk–1972, (5) erlang–1986, (6) perl–1987, (7) C #
Does cloud computing use these languages? If you analyze the stories behind these new languages, you will see an emerging common theme.
1. Distributed/Parallel Computing
Programming languages that can be used for parallel computing (Cray Chapel, IBM X10), concurrent Programming (CLOJURE,FANTOM,GO), and full cloud stack single language (OPA).
Because all the patterns in cloud computing are to distribute tasks across multiple CPUs in different geographies or simultaneously, today's programming languages are not very well suited.
2. Multi-Paradigm Programming
Supports object-oriented and functional programming languages (Clojure, F #, Fantom, http://www.aliyun.com/zixun/aggregation/16945.html ">scala"), relatively simple to parallelization, The purely functional language does not seem to be very successful. Therefore, you need to try a multi-paradigm programming language.
3. Multi-platform programming
Multi-platform programming languages can be implemented not only in the JVM and CLR (Clojure, Fantom, Scala), but also in several other platforms (Clojure & Fantom on JavaScript engine, Scala on Android, Haxe On several platforms). This is the dream we have been chasing for decades, so this is the best reason to create cross-platform languages.
4. Large-scale programming
Readability, modularity (Ceylon), compilation speed (go, Zimbu), fit for large teams (Scala), Meta-programmability (Ceylon, Scala), and simplicity (Scala, Zimbu) is a feature of programming languages that build large applications.
Cloud computing provides almost unlimited computing power, which allows us to build larger, more complex applications. Of course building large applications requires large teams and easy to maintain code. Therefore, it is imperative to create a programming language for large applications.
5. Client-side programming
The same language (Naxe, OPA, Zimbu) that replaces JavaScript's dart, client, and server side has its own unique advantages.
Cloud computing requires client code to run seamlessly on multiple client devices, although JavaScript has become a standard, but no one likes it. Therefore, you need to build a language that is better than JavaScript and applies to multiple client platforms.
12 Languages Quick Preview
12 languages are sorted by a-Z, and interestingly, the 12 languages follow some kind of open source license (HTML5 is not included in the chart because it is not a new language in the strictest sense, but also excludes node.js because it is only a server-side JavaScript engine). (Li/compiling)
(Responsible editor: The good of the Legacy)