There has always been a love of computer language creation. Last century the languages writers were severely limited by the hardware. C/C++ even has an asm keyword to embed assembly language directly in the C code. In reviewing Haskell recently I noted a number of language constructs designed to take advantage of and rely upon CPU architecture.
Getting a language ready for the main-stream is a mammoth task – requiring the backing of a large group. FORTRAN was the darling of engineers and scientists; COBOL the same for financials. Pascal started as a teaching language until students demanded to use it in their jobs after graduation. C was a good assembler replacement that allowed some level of portability as well as efficiency. With OO , C++ gave the best of both worlds. Java and later C# took many C developers, running in a managed environment (JVM/CLR) to better protect the system from developer errors – particularly memory access and leaks.
As more bright people gained access to computing power, more languages were born – such as Python and Ruby.
Fast forward to 2015…
There are the well-known players such as
and transpilers for every language that made the main-stream.
I am particularly fascinated by Amber – a Smalltalk inspired system. When you run it up it looks exactly like the first Smalltalk IDE I tried in the 80’s. I hope that this time I can find the time to learn from it.
So, what is the point to all these varieties. Consider natural selection. The survivors are those best suited for the environment – or those that fit a small specialised niche.
I also believe that all developers benefit from learning different languages. The value of different perspectives cannot be minimised.