On the surface, 2013 appeared to be a quiet year in terms of language popularity and adoption. The reality, however, suggest considerable activity. As I usually do in January, I analyze several language metrics from multiple sources: Ohloh.net, which measures activity across almost 600,000 open-source projects, Google Trends, and the much maligned Tiobe index. At first blush, there appears to be no change in this year's figures. The latter index, for example, shows that the top eight spots (starting at #1: C, Java, Objective-C, C++, C#, PHP, Visual Basic, and Python, respectively) were exactly the same as last year. But looking deeper, we see…
Figure 1: Python projects active in a given month vs. Perl for 590,000 open source projects.
While Python crossed over Perl some six years ago, it took several more years for its libraries to catch up with CPAN. I believe it's fair to say that point has passed, or if it has not, that it's close enough that CPAN's differentiators are so small as to confer no particular competitive advantage to Perl.
By all measures, C++ use declined last year, demonstrating that C++11 was not enough to reanimate the language's fortunes, despite the significant benefits it provides. I have previously opined that Microsoft's contention of a return to native languages being led by C++ was unsupported by evidence. It is now clearly contradicted by the evidence.
Part of C++'s decline might be due to the emergence of competing native languages. D, designed by Dr. Dobb's blogger Walter Bright, made a surprising leap in to 18th position on Tiobe. The adoption of D at Facebook for new projects might be part of the explanation. But D is by no means alone. Google's Go, which we covered in a five-part tutorial in 2012, has been quickly gaining traction as shown in Figure 2.
Figure 2: Monthly open-source commits for Go.
If I were to guess the next language to get a bump up, I would vote for C#. It has steadily eaten away almost all of VB.NET's turf and, with the recent work by Xamarin, C# might well become the .NET developer's language of choice for mobile. We'll certainly see.
Until then, happy coding in the new year!