The other day I was reading a blog about programing language complexity and bloat and how this new language is going to usher a new era. There is no panacea in programing language landscape. Most languages start out lean and elegant. Then it evolves and complexity starts growing as it tries to meet all kinds demands and expectations from the user community. Most programming languages seem to have a growth cycle of ten to fifteen years. After that period when it has bloated and become complex enough it seems to have difficulty being chosen as the language of choice for new projects. It goes dormant as part of many legacy products.
It got me thinking about languages we humans use for communications. Why is it that we don’t see the same pattern in our languages. I am not sure. However, I noted some important differences. Programming languages are used to communicate one way , from the programmer to the machine. Moreover no matter how complex the programming language is, for the recipient computing machine it always gets translated to a simple language with simple grammar.
On the other hand, when a language evolved in a human community, there might have been resistance from the community as the complexity tended to go beyond some tolerable threshold, so that it remained easy and not too taxing for the brain. For programming languages, there is no such push back. The machine will always dutifully execute whatever instructions are given. Although, when new complex constructs for a language are proposed, generally there are generally two sides, one side advocating and the other side opposing. But generally the advocating side wins, until the language complexity gets to a point when the community starts looking for alternatives.
Complexity is not the only reason for the eventual demise of a programing language. Some times a new paradigm will retire a whole set of languages, for example, object oriented languages winning over procedural languages.
What do you think?