While checking out the search engine terms to my blog, I found an interesting one there: “why so many programming languages?” A great question indeed. If you take a look at the Wikipedia page on programming languages, you will be surprised by the number of programming languages today. To give you a hint, the languages are categorized into different sections by their first letters. When I browsed the page, I found most of them were new to me and will definitely remain so in the future.
Now let’s get to the question of why. The simple answer is because there are so many programmers who created them. This is of course not the ideal answer but heading the right direction.
Lost VMs or Containers? Too Many Consoles? Too Slow GUI? Time to learn how to "Google" and manage your VMware and clouds in a fast and secure HTML5 App.
From technical aspect, we need a variety of programming languages for a variety of projects. We cannot expect one programming language killing all. Programming languages like C are very good at lower level programs like device driver, but not much so at high level application development. A generic application programming language may not be the best for Web application development. So there is a real demand for various programming languages.
From historical aspect, a lot of programming languages were created over the last 60 years or so since computer was invented. Some of them are actually no longer active, or limited to very specialized community. Surprisingly, the life time of a programming language can be longer than most of us can imagine. Just think about COBOL – we’ve been thinking it’s dying in the last 20 years but it’s live and was in high demand around year 2000. This accumulated effect has definitely contributed to the sheer number of programming languages.
Although thousands of choices today for programming languages, you don’t need to learn all of them, but one or a few of them. You can definitely make a good living if you can program well in one programming, but most likely one is not enough if you choose to be a programmer. Ideally, you want to learn C, one of Java/C#, and one of Python/Perl/Ruby. From there, it’s very easy to learn other if needed by a project.
Having discussed these, it still does not really explain why so many and new programming languages keep coming. I am also surprised by some magazines’ “language of the month.” I think even once a month is not enough for the new languages, most of which are simply ignored by the programmers at large.
While keeping trying new languages is good, most of them are simply rehashing whatever available in other languages today. Knowing it most like not going anywhere, some programmers keep inventing new languages in a similar way as people who want to be a popular movie star someday.
It reminds me an article I read before (sorry that I cannot find it any more). It basically discussed the programmer visibilities per types of software. I think the programming language is listed the first there, followed by operating systems, and APIs/frameworks, and applications. Now you understand the motivations of creating new programming languages.
Don’t get me wrong here. Nothing is wrong for a programmer to gain visibility. Everyone needs a motivation. Be it visibility or something else is purely personal choice that we should honor. Without the motivations, we wouldn’t have a rich portfolio of programming languages to choose from. For the same token, the richness can cause some confusions as well. That is just two sides of so many programming languages. After all, too many choices is better than no choice. Agree?