Friday, February 20, 2009

Programming Language Popularity

My 13 year old son has been programming in Lua, TI Basic and Assembler, ActionScript, JavaScript, and he's into C++/Dark GDK these days. While I've mostly focused on Java for the past few years, I've programmed in a wide range of statically typed and dynamically typed languages.

Since my son is just starting his programming journey, I naturally wondered:

What are the most popular programming languages these days?

I used tiobe.com and langpop.com to answer this question. Both sites provide programming language popularity statistics and rankings, and I was happy to see that Java, C, and C++ rank in the top three on both sites.

What I like about both of these sites is that they gather information across a wide range of search engines and websites in order to generate a popularity score. Neither site is focused on declaring the "best" programming language or the language in which the most lines of code have been written. They simply provide information that, as TIOBE states, "can be used to check whether your programming skills are still up to date or to make a strategic decision about what programming language should be adopted when starting to build a new software system."

TIOBE Programming Index for Feb 2009
TIOBE gathers information from Google, MSN, Yahoo!, and YouTube to calculate the ratings, and they have a great web page that defines how the TIOBE index is assembled. Below is a summary of the top 20 programming languages for February 2009. I especially like how they compare against last year's ranking so we can gauge how the language is doing year over year.

Below you will see that Java has been #1 the past two years. C++ and C# are on the rise. Visual Basic, PHP and Perl have declined however. I also find it interesting that while Ruby and Python generate a lot of buzz, neither has risen in rank over the past year.



LangPop Normalized Comparison on Feb 2, 2009
Below is LangPop's Normalized Comparison Chart that combines the data gathered across Yahoo, Craigslist, Amazon, Freshmeat, Google Code, and Delicious for 29 different programming languages. Click on the chart to see it more clearly.

Java is #2 behind C. Visual Basic is much lower in ranking than in TIOBE's ranking. Python, Perl, and Ruby are slightly higher than in TIOBE's results.


Conclusions?
Since I work at SpringSource and focus on enterprise Java (a la Spring) and dynamic languages that run on Java (a la Groovy/Grails), I'm pretty happy to see that Java not only maintains its relevance but continues to dominate as a top programming language.

With that said, the interest in dynamic languages such as PHP, Python, Ruby, and Groovy clearly tells me that developers crave more productivity and less complexity. Another reason I'm happy to be at SpringSource, since simplifying enterprise Java is our area of focus and passion.

Credits: I'd like to thank TIOBE and LangPop for maintaining and sharing the information on their website. They provide a valuable service and I will continue to visit their sites to stay abreast of how the programming language landscape evolves over the coming months and years.

1 comment:

Richard Friedman said...

>> The index is updated once a month. The ratings are based on the number of skilled engineers world-wide, courses and third party vendors.

I am just wondering what is on the horizon. Today's languages are boring ;) You're son is ahead of me on LUA (I need to find more time in the day). I remember when Java just started and quickly eclipsed C/C++.

Is there another big change in programming, have we overcome all programming challenges (ie memory management). If you ever programmed in javascript you pray there is something better to come.