Monday, November 25, 2013
Programming languages with a historical perspective
There are many thousands of programming languages from the most widely used Java or C to the arcane or forgotten ones, like Euphoria or Ada. If I want to write their history, I'd have to exclude most of them and select only a few. But which ones to select, what should be the organizing principle?
I could pick the most popular languages of all time. Or I could get a list of popular languages of each year and take the top few. I would probably get a different list depending on the source of the statistics. A language can be popular in the academic world with many articles and publications dealing with it and without a real presence in applications -- that was the case with Haskell until a few years ago. Some languages are widely used in a business setting, but they won't show up in a listing of open source projects.
And why select only popular languages. They probably have a similar story, because they are winners in a similar field. Java and C# have a lot in common, at least technically speaking. It may be interesting though to see if they have a different history. But there are little-known languages which introduced some feature, but somehow didn't make it to become mainstream, like Factor, a modern, stack-based language.
It naturally gives the idea to get a list of programming paradigms and select some representatives for them. So we could have some object-oriented and some functional languages, sprinkled with some stack-based and vector-based ones. The list could be balanced by the type systems, so for example object-orientations would be represented by statically typed Java or C# and dynamically typed Python or Ruby.
My aim is to reflect the diversity of languages and the ideas behind them. But I also want to show what became popular.
Labels: history of programming languages