The most popular programming languages are rapidly changing

Interesting post on Quartz:  The most popular programming languages are rapidly changing

While it is an interesting post, a number of questions came to mind on reading it:

  1. While StackOverflow is indeed a dominant system for developers seeking and sharing information, I wonder if its demographics is really representative of the entire software/technology industry.
  2. The dominance of JavaScript is hardly surprising, since if you want to do anything in the browser, you really have no choice (and choice is always a bad thing, right?).
  3. Is SQL a “programming language”? I never thought so. You cannot “build a system” in SQL – SQL may be a major part of a large number of systems, but you need a programming language to make use of it.
  4. NodeJS and AngularJS are not programming languages. They are frameworks for JavaScript. Making these two their own categories makes no sense, anymore than it would make sense to have separate categories for Python and Django and Tornado. It might make sense to have separate categories for server-side versus client-side Javascript, but not specific frameworks.
  5. Merging together the JavaScript, NodeJS and AngularJS would give a more clear indication of the use of Javascript – rather than showing a decline in JavaScript usage over the last three years.

The Next Big Language – WHY?

I have been doing some work lately teaching myself some of the basics of Ruby, Python and a couple of other languages. As I was working with these languages, I was suddenly hit with a question – why? Over the course of my career, I have programmed in a lot of languages (somewhere around 20 that I have actually used to do useful work, I think). I am sure many of you can say the same thing. And do you know what? They all suck in one way or another! I have seen language’s popularity come and go. I have seen arguments in person, in newsgroups, and all over the web which bordered on religious fanaticism. Even as I write this, a good discussion continues in response to The Next Big Language.

Again, I ask myself “why?”

Looking back over projects in which I have participated, led, observed, or otherwise been involved, I cannot think of one where the success of failure (or degree of success – failure is not usually absolute) of the project was due to the limitations of the programming language. Nor has the programming language been the determining factor in the cost of the project, or the quality or the maintainability of the code.

There are so many factors which are accepted to have much greater impact on the course of a project than the choice of language/technology – requirements, architecture, realistic planning and tracking, and proper resourcing to name a few – that I find the whole debate around programming languages to be somewhat meaningless in the real world (actually, I find it more annoying than meaningless).

This is not to say that I do not believe we should always be innovating and inventing new ways of doing things (including programming languages). It does mean, however, that it is highly unlikely that any of these language advancements (or The Next Big Language, whatever it is) will make a significant difference in software development in either a corporate IT or commercial product development world – at least not any time soon.