9 Programming Languages To Watch In 2011
I have written several posts regarding job trends in programming languages. However, I have not really written any posts that looked towards the future of programming languages. With job trends, I have been focusing on more heavily adopted languages. In this case, I wanted to look at some other languages that are gaining popularity but have not really become one of the top languages to use. Part of this analysis uses the Tiobe December 2010 rankings, some from ReadWriteWeb’s recent programming languages post (based on this Dataists post), and the rest comes from the job trends that are included. Two languages from the normal job trends posts that will continue to see solid growth and deem mentioning are Objective-C and Python. Obviously, with the growing Apple ecosystem, Objective-C continues to grow. Python is being used in data analysis, which is growing rapidly, as was mentioned in my recent post on some O’Reilly data.
I have not split these languages into any particular type, like traditional and scripting, because I wanted to look at everything together. Some of the jobs data is difficult to include because of the amount of noise from other industries. Go and R have a lot of noise in particular and are not included in the graphs. However, they are included due to their origin (Google) and usage (Data Analysis) respectively. First, let’s look at the languages themselves ordered by Tiobe rank (Tiobe ranking and RWW & Dataist Tier included) :
- Go (Tiobe: 21 , Tier: 4)
- R (Tiobe: 26, Tier:3)
- Lua (Tiobe: 27, Tier:3)
- Scheme (Tiobe: 29, Tier:3)
- ActionScript (Tiobe: 37, Tier:2)
- Erlang (Tiobe: 49, Tier:3)
- Groovy (Tiobe: 50-100, Tier: 3)
- Scala (Tiobe: 50-100, Tier:2)
- Clojure (Tiobe: 100+, Tier:3)
Interestingly enough, there does not seem to be a correlation between
the Tiobe rank and the Dataist Tier. If anything, it almost looks like a
reverse correlation, but I am going to ignore correlation for now. So,
how does the ranking data compare to the job demand data?
First, let’s look at the job trends from Indeed.com:
As we have seen in other job trends posts, SimplyHired focuses on short term trends:

Both graphs show ActionScript with more jobs but a fairly poor trend.
Scheme has been growing slowly and has seen more recent interest. Groovy
has been growing nicely, but not showing a really strong trend. The
others have limited data, so there is not much we can see of the trends.
The job trend graph that could be more useful in this case is the relative growth from Indeed:
The relative growth is my favorite trend graph because it shows the rapidity of change. So in our case it can show which languages may be prepared for a breakout year. The two obvious trends are Lua’s strong growth and the explosion of Clojure in the past 18 months. Other notable trends are the growth of Erlang, Groovy and Scala. Scheme and ActionScript have fairly flat trends here.
So, I have presented a good amount of data, but I have not really said anything specific. All 9 languages should be watched in the next year as they all have some interesting level of activity in one area or another. Google searches, GitHub projects, StackOverflow questions and job trends are all flawed in some way. But if you look at them together, they present an interesting picture of what programming languages are really seeing activity or adoption. Without further ado, here is my ranking of what programming languages watch in the next year:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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?
- 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.
- 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.
I know people will have lots of comments on this, but specifically I
am looking for other languages that may be gaining popularity. Let me
know what I missed in the comments.
This article has been translated into Serbo-Croatian: http://science.webhostinggeeks.com/9-programskih-jezika-na-koje-treba-obratiti
This article is translated to Serbo-Croatian language by WHG Team .
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)








Comments
Fred Nott replied on Mon, 2010/12/13 - 9:34am
Robert Diana replied on Mon, 2010/12/13 - 10:21am
in response to:
Fred Nott
Mitch Pronschinske replied on Mon, 2010/12/13 - 11:04am
Jacek Furmankiewicz replied on Mon, 2010/12/13 - 11:12am
Robert Diana replied on Mon, 2010/12/13 - 4:18pm
in response to:
Mitch Pronschinske
Robert Diana replied on Mon, 2010/12/13 - 4:23pm
in response to:
Jacek Furmankiewicz
Jacek Furmankiewicz replied on Mon, 2010/12/13 - 4:36pm
in response to:
Robert Diana
Jacek Furmankiewicz replied on Mon, 2010/12/13 - 4:42pm
in response to:
Jacek Furmankiewicz
Anton Arhipov replied on Mon, 2010/12/13 - 6:22pm
Jacek Furmankiewicz replied on Mon, 2010/12/13 - 6:26pm
in response to:
Anton Arhipov
Robert Diana replied on Mon, 2010/12/13 - 7:19pm
in response to:
Jacek Furmankiewicz
Claude Lalyre replied on Tue, 2010/12/14 - 4:32am
Héctor Ea replied on Tue, 2010/12/14 - 5:47am
Eric Giese replied on Tue, 2010/12/14 - 5:51am
The one language? Only by killing all others :-D
The fragmentation in the programming community will never end, but developers can arm against these problems: Like linguists can learn HOW languages work, developers can try to understand the concepts behind the languages. The way is the same. Learn a lot of different languages with different concepts and you won't care about the languages much longer.
Good ones to learn are Haskell, Lisp (Clojure), Scala, Go and Phyton. And a lot more. All of them have their own concepts and ideas which really help to learn. Oh, and learn C# and Java to earn money in the meantime!
Good concepts to learn by these are: functional programming, type inference (static typing without mentioning types), closures, type systems (structural typing like in go), type parameters (generics), closures, immutables values and lists, multiple inheritance, const correctness and so much more.
And, most important: Have lots of fun doing this!
Henry Staples replied on Tue, 2010/12/14 - 8:01am
Moni Ghaoui replied on Wed, 2010/12/15 - 3:12am
I had a quick glance at the most popular lua projects in GitHub:
So lua is only a language to consider if you're planning on getting into the games industry or write addons for World of Warcrack.
Robert Diana replied on Wed, 2010/12/15 - 7:44am
in response to:
Moni Ghaoui
Thijs Schreijer replied on Wed, 2010/12/15 - 9:23am
in response to:
Moni Ghaoui
Luas main power is that it comes in at a 100kb (compare to 1mb for Python) and its core is native C, hence extremely portable. It runs on most platforms (and hardware).
Some examples of other applications that use Lua;
- Adobe Lightroom
- SciTE text editor
- Network tooling; nmap, snort, and wireshark
- Girder
And hardware running Lua;
- Vera box by MiCasaVerde
- Logitech; Harmony 1100 and Squeezebox Duet
As with any language it has its uses, but it is definitely more than WoW only.
Jacek Furmankiewicz replied on Wed, 2010/12/15 - 8:59pm
Cloves Almeida replied on Wed, 2010/12/15 - 10:31pm
I don't think Groovy has missed the train. Unlike Python, Ruby and Erlang, it can use Java libraries seamlessly. As Groovy classes are simple Java classes, unlike JRuby and JPython, the communication is two-way.
Unlike Scala, Groovy has a very familiar syntax for existing Java developers. The learning effort is pretty small.
A typesafe Groovy is underdevelopment. As it implements a lot of syntax sugars while maintaining compatibility, it could potentially become the de-facto successor of Java.
Jacek Furmankiewicz replied on Wed, 2010/12/15 - 11:03pm
in response to:
Cloves Almeida
Moni Ghaoui replied on Thu, 2010/12/16 - 7:47am
in response to:
Thijs Schreijer
Ah good to see that it's being more widely used.
I was responding to the assertian that: "Lua - The language is seeing some good activity on GitHub and StackOverflow".
Just after reading that I quickly went to GitHub and found that WoW dominated the lists. I didn't check StackOverflow but give me a second ... ah ... top voted questions:Ok I know I am being biased by selecting only the top three but the point I'm trying to make is this: Lua should be a language worth watching, for sure, but the only conclusion I can see by visiting github and stackoverflow is that it is primarily used for games.
Anyways just saying. I'm not looking to troll here. I have checked out Lua in the past and it looks like a great language to use.
Gar Labs replied on Tue, 2011/08/23 - 11:52am
Kavosh Havaleda... replied on Mon, 2011/08/29 - 2:48pm
Kavosh Havaleda... replied on Mon, 2011/08/29 - 2:49pm
James Kear replied on Tue, 2011/09/06 - 3:26pm
Emma Watson replied on Fri, 2012/03/30 - 3:12am
Howard Lewis Ship replied on Thu, 2012/02/09 - 3:21pm
in response to:
Robert Diana
Both languages cite Scheme as an influence; Lua has a more Modula/Pascal inspired syntax, where JavaScript is more C-oriented. Lua is a lot more consistent than JavaScript and doesn't have some of those odd forgotten (and regretted) aspects.
It's pretty amazing how fast Love2d apps can launch, fire up SDL (Simple Direct Layer) and get graphics on the screen ... long, long, long before a Java application has even started executing its main().
Howard Lewis Ship replied on Thu, 2012/02/09 - 3:58pm
in response to:
Moni Ghaoui
Carla Brian replied on Sun, 2012/07/15 - 5:25am