I am a software engineer, database developer, web developer, social media user, programming geek, avid reader, sports fan, data geek, and statistics geek. I do not care if something is new and shiny. I want to know if it works, if it is better than what I use now, and whether it makes my job or my life easier. I am also the author of RegularGeek.com and Founder of YackTrack.com, a social media monitoring and tracking tool. Robert is a DZone MVB and is not an employee of DZone and has posted 95 posts at DZone. You can read more from them at their website. View Full User Profile

What Happened To The 9 Programming Languages To Watch in 2011

12.19.2011
| 19548 views |
  • submit to reddit

Last year, I wrote a post entitled 9 Programming Languages To Watch In 2011. Now that 2011 is basically over, let’s see what happened to these languages over the course of the year. As a reminder, these languages were selected because I expected to see larger than average movement, either up or down. So, there is no Java, Ruby, Python or Objective-C. There are no other typically mainstream languages in this list.

First, here are the comments I had on each language:

  1. Lua – The language is seeing some good activity on GitHub and StackOverflow. It has a solid Tiobe ranking, but more importantly, jobs for Lua are becoming available. The relative trend for Lua is a great indicator that it is ready to go mainstream.
  2. R – With data analysis and big data becoming a part of every web startup, languages catering to the data crowd will become popular. The job trend data will be the most interesting part to watch here.
  3. Clojure – While not popular within the Tiobe index, it is popular in some programming circles. In particular, its job trend growth is showing that it could be posed for a big year of adoption.
  4. Go – Only Tiobe really shows this as a popular language. It is not ranked well in the Dataist Tier, and job trends are not very reliable yet. However, with a parent of Google it may not need purely organic growth.
  5. Erlang – This has been around for a few years and has decent trends all around. With the continued growth of real-time technologies like XMPP (eJabberd specifically), PubSubHubbub and others, 2011 could be a year where it becomes the next Python.
  6. Scala – This is one of the interesting trends. Scala has a very good showing in the Dataist Tier, but is not really ranked in the Tiobe index. With the solid job growth trends and popular adopters (i.e. Twitter), Scala could gain a serious amount of acceptance.
  7. Groovy – More than anything, I believe Groovy missed its window of opportunity. It is a solid scripting language with decent job growth trends, but how can it differentiate itself from Ruby, Python, Erlang and Scala?
  8. Scheme – For whatever reason, this language refuses to go away and has even picked up some interest. Without decent job growth, we could be another year away from Scheme breaking out again, at least 30 years after it broke out the first time.
  9. ActionScript – ActionScript is included in this list because of its high ranking on Tiobe and the Dataist Tier. However, the job trends do not point to good things for the language. It could be a temporary slump, so you should keep an eye on it next year.

So, what happened in 2011? The job trends give us some level of corporate demand. One minor note is that the job data is somewhat noisy and difficult to grab for some languages. Go and R are not in the list because of the difficulty of getting any reasonably sane job demand. Scheme is still included, but it is still fairly noisy data. The following chart shows the raw demand for the remaining languages:


As you can see, ActionScript continues its decline, and it has started to decline more rapidly. Scheme, even with the noisy data, is fairly flat. Groovy is showing solid growth over the past few years, and Scala demand seems to be increasing quickly. Lua is only showing slight growth, outpacing Erlang and Clojure. Now, let’s take a look at the relative job growth of these languages:


This is where things get interesting. As you can see, both Lua and Clojure seem to be exploding, but that does not yet translate into large job demand. Also growing rapidly, and at almost the same rate, are Scala, Erlang and Groovy. Scheme and ActionScript have no relative growth compared to the others, as is expected. The TIOBE Index for December 2011 was recently updated, so it also provides a good comparison. In addition, I compared the activity from GitHub and StackOverflow in order to get a broader picture of activity.

  • Go (Tiobe: 34 , Change: -13): The TIOBE rank crashed, going down 13 places. The relative activty on StackOverflow and GitHub decreased as well. Even though Google is the source of the language, it does not seem to be grabbing a lot of more mainstream attention.
  • R (Tiobe: 24, Change: +2): The TIOBE rank increased a few places. The StackOverflow and GitHub activity decrease a slight amount, but nothing significant. Given that R is not really considered a general purpose language, its popularity is still somewhat surprising.
  • Lua (Tiobe: 21, Change: +6): The TIOBE rank increased solidly, though not as quickly as others. The GitHub and StackOverflow activity decreased a bit, contradicting the TIOBE index. However, the job trends above are very good, so we should continue to watch Lua in the coming year.
  • Scheme (Tiobe: 30, Change: -1): Not surprisingly, the TIOBE rank did not change much. The StackOverflow and GitHub activity did not change much either. With the growth of some of these other languages, the need for Scheme is not really obvious anymore. In addition, the job trends are not positive for Scheme either.
  • ActionScript (Tiobe: 50-100, Change: ->13): As can be expected, the TIOBE rank for ActionScript declined a lot as it dropped out of the top 50 and into the 50-100 bracket. The job demand shows a similar downward trend. StackOverflow and GitHub activity did not change too much however. I would guess that 2012 will not be a good year for ActionScript.
  • Erlang (Tiobe: 29, Change: +20): Showing possibly the biggest gains of the year, the TIOBE rank increased a ton moving up 20 places. The StackOverflow and GitHub activity did not match this growth. The job trend information is definitely showing positive signs, so Erlang is a language to keep an eye on.
  • Groovy (Tiobe: 45, Change: +>5): The TIOBE rank increase is somewhat unknown as Groovy makes an appearance in the top 50. StackOverflow and GitHub activity increased as well. The big difference is shown in the job demand, where Groovy has shown really solid growth trends.
  • Scala (Tiobe: 50-100, Change: 0): Given that Scala did not break out of the 50-100 tier on the TIOBE index, we cannot estimate growth there. Overall, the relative activity on GitHub and StackOverflow did not change much either. The job trends show a different picture as job demand definitely grows at a solid rate.
  • Clojure (Tiobe: 50-100, Change: +?): Clojure moved from the 100+ tier on TIOBE to the 50-100 tier, so there is some solid but unknown growth there. Oddly, the activity did not grow much on StackOverflow or GitHub. The raw job trend information is not great, but the relative growth trends are fantastic. Closure could have a big year in 2012.

So, what’s in store for 2012? Well, I am planning to review more programming language data to get a better idea on trends and mainstream adoption. If you have an idea for other data sources besides TIOBE, Indeed, GitHub and StackOverflow, please let me know in the comments.


  Source: http://regulargeek.com/2011/12/19/review-of-the-9-programming-languages-to-watch-in-2011/
Published at DZone with permission of Robert Diana, author and DZone MVB.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Tags:

Comments

Scott Hickey replied on Mon, 2011/12/19 - 11:43am

"More than anything, I believe Groovy missed its window of opportunity."

I don't think you might be plugged in to the right community or you might misunderstand Groovy's usefulness. Groovy and Grails has great traction for building new applications. I don't know anyone just using it as a scripting language. The company I work for can't find enough good Groovy and Grails folks to meet the demand. We continue see demand from both large corporations and startups.

Andrew McVeigh replied on Mon, 2011/12/19 - 1:18pm

I'd be very surprised if jobs with "scheme" in the description are actually looking for a requirement of "scheme language programming".

Mason Mann replied on Tue, 2011/12/20 - 5:32am

Nice article!
Go is just to weird to gain widespread acceptance. There's tons of lovable stuff, so it's a shame they blundered on some basic syntax stuff (which people actually do care about.)

Laurent Cohen replied on Tue, 2011/12/20 - 12:46pm

The % growth chart is ridiculous. If you go from 1 to 200 jobs, you have 20,000 % growth, but does that make a trend?

Mark Unknown replied on Tue, 2011/12/20 - 1:35pm in response to: Scott Hickey

We are only using it for scripting. That being said, we only have 3 out of 7 devs doing Java. If we all were doing Java, i think we would be doing Grails too.

Christopher All... replied on Thu, 2011/12/22 - 5:43pm

With Adobe pulling the plug on Flash for mobile browsers, the decline of non-mobile tech as a whole, and the continued inability to get Flash onto iOS platforms, I think that it is fair to say that Flash has had its day. While it is always difficult to call something "dying," I will be shocked if it manages to turn the trend. I expect AS to fade into obscurity.

Robert Craft replied on Thu, 2012/01/26 - 5:33am

Interesting numbers. I would never have expected Lua would get that sort of momentum. I am curious to know whether or not Indeed.com is biased or not? Of course I’m not suggesting that it’s intentional just that I’m not going to spend 7 days on Lua if it’s not really that good an idea.

Spring Framework

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.