Programming language bloat


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?

Pranab

Advertisements

About Pranab

I am Pranab Ghosh, a software professional in the San Francisco Bay area. I manipulate bits and bytes for the good of living beings and the planet. I have worked with myriad of technologies and platforms in various business domains for early stage startups, large corporations and anything in between. I am an active blogger and open source project owner. I am passionate about technology and green and sustainable living. My technical interest areas are Big Data, Distributed Processing, NOSQL databases, Machine Learning and Programming languages. I am fascinated by problems that don't have neat closed form solution.
This entry was posted in Programing Language and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s