tecosystems

Black Duck and Programming Language Adoption: The Rise of JavaScript

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

Some of the questions we get most frequently at RedMonk concern programming language usage; which languages are being used, how much, and what are the respective growth/decline trajectories? Because there is no single canonical source for this data – even representative surveys are problematic – we examine as many distinct sources as we can to form a larger picture.

One of these comes from our client Black Duck, whose already significant Knowledge Base was substantially expanded by its October acquisition of Ohloh. Black Duck’s primary mission in life is digesting information about open source code, from license to language, to streamline the consumption process for enterprises. As it turns out, this data can also be used to understand developer trends. The folks from Black Duck have been kind enough to share some of the language usage data from their knowledge base, which we hope to do regularly, and which I in turn will relay to you here.

Before I proceed, two things to note.

First, the data supplied by Black Duck included the Top 13 languages usage, but I’ve filtered that down to the seven you see here. Among those filtered was what Black Duck defines as “shell,” which was one spot higher than Ruby; it was omitted because part of that volume is likely configuration and installation shell scripts, which are not what I’m interested in here. The other languages were omitted – as with C# – because their overall usage was insignificant (1.2% all time) and growth or decline were neglible.

Second, the dates selected were arbitrary for this instance, because this was an ad hoc query run at our request. Consider timing as necessary when evaluating this data.

First up is all time usage data. This represents the percent of programming language usage within the Black Duck Knowledge Base.

Black Duck Knowledge Base Language Usage (All Time)

This data contains few surprises. C (44.6%), C++ (13.3%) and Java (9.4%) are the volume languages, with JavaScript, PHP, Python, and Ruby showing more modest but still significant traction.

Next, let’s examine the usage pattern for the twelve months prior to 8.12.2009 and the year ending last Monday, 3.28.2011.

Black Duck Programming Language Usage

In the 19 months between those dates, we’re seeing an interesting shift. Note, for example, that in the twelve months trailing March 28th, JavaScript passed Java. The pattern is more apparent if we depict just the delta between the years. This represents the percentage in change from the year ending August 2009 to the same timeframe ending March 2011.

Percentage of Change in Language Usage

This data supports the view that dynamic languages like JavaScript and Ruby are gaining share, possibly at the expense of traditional enterprise languages like C++ and Java. Note the odd growth in C, however; this may be an outlier as we’ll see below. The dynamic language gains are modest relative to total volume, of course. For context, the most popular dynamic language here, JavaScript, still represents less than a fourth of the total lines of C as of last week.

Percentage of Change in Language Usage

When we compare March’s figures to the all time volume, meanwhile, the pattern is even more pronounced: dynamic languages have universally gained share, while C, C++ and Java all have declined.

Conclusions

The data here seems to validate two recent conclusions; first, that JavaScript, Python, and Ruby frameworks are experiencing growth [coverage]. Usage of a developer framework, of course, is directly correlated with use of the language itself. Second, that Java has peaked from a relative adoption standpoint but remains a volume platform, with more lines of code than Python and Ruby combined [coverage].

The data also suggests that JavaScript in particular is seeing substantial growth, with the best growth rate against the all time data set and the second best versus 2009. Growth sufficient for it to overtake Java in total volume. Ruby performs only slightly less well, with the best overall growth rate from 2009 to 2011. GitHub’s data is similar; almost four months ago, JavaScript passed Ruby as the most popular language on the site.

With the caveat, then, that the above data is simply what’s measurable by Black Duck and cannot therefore be considered representative in a strict statistical sense of developers worldwide, it may be time for you to look at JavaScript. And maybe node.js, while you’re at it [coverage].

Credit: Our thanks again to Black Duck for sharing this data.