Programming Languages in 2014

With some delay, here’s my annual roundup of programming language rankings. One sad change from previous years (2012 edition, 2013 edition) is the absence of Andrew Binstock’s usual column, “Rise and Fall of Languages.” That had been published by Dr. Dobb’s Journal which has shut down last year. (Binstock is now EIC of Oracle’s Java Magazine but I doubt he’ll do language comparisons there, outside of “Why Java is Awesome.”) Never fear, though! Ranking programming languages remains a popular pastime, so we have plenty of other sources for 2014.

  • Ian Elliot’s JavaScript Is The Language Of 2014 reports on the eponymous finding by the TIOBE index measuring search term popularity. JavaScript, notoriously underrepresented in TIOBE, still sits at a measly 3.3% but that constitutes a big annual jump of 1.7%. The overall winner is once again C (16.7%), followed by Java (15.5%), Objective-C (curiously dropping from 11% to 7%), C++ (6.7%), C# (5%), and PHP (3.8%).
  • CodeEval’s Most Popular Coding Languages of 2015 analyzes 600,000+ coding tests and challenges by 2,000+ employers. Interestingly, Python leads the pack here with 31.24%, followed by Java (19.58%) and C++ (9.79%). The latter two are in gradual decline over the previous years, and so is Ruby (7.11%) in place 5. Gaining in popularity are C# (7.37%), JavaScript (6.48%), and C (6.07%). The rest are also-rans, here including Objective-C (just 1%) which likely reflects that iOS developers tend to be self-employed rather than corporate employees.
  • Carlo Zapponi’s GitHut conveniently visualizes language use on GitHub. Here JavaScript reigns at a steady 15% of active repositories, followed by Java (10%), Python (8%), and GitHub specialty CSS growing past 7%. PHP is slowly declining towards 6%, Ruby is quickly collapsing towards the same share. GitHubbers don’t seem to like other popular languages: C++ hovers at 4%, all other languages including C and C# are clearly below that threshold.
  • The latest RedMonk Programming Language Rankings analyze both GitHub and Stack Overflow, counting projects and question tags respectively. JavaScript still comes out on top, followed very closely by Java. RedMonk sees a higher GitHub rank than GitHut for the declining languages Ruby and PHP: the effect of counting all projects versus just active ones. C# is a notable outlier that’s more popular on Stack Overflow than GitHub, likely due to its widespread corporate use.

Apple’s new iOS language Swift is still hardly to be seen, and neither are any of the hopeful JavaScript successors (more on that below). JavaScript itself leads a curious double life where it’s either massively popular or barely used, depending on which ranking you examine. My standing assumption is that despite all the hype, JavaScript still isn’t being used as a general application programming language, so it’s popular only in the (large) niche of web development.

PHP and Ruby are definitely declining in popularity whereas the traditional heavyweights Java and C/C++ are generally holding steady. One interesting new development is that Python appears to have established itself as a solid all-rounder, popular with both businesses (CodeEval) and hackers (GitHub) in addition to its near-monopoly among scientists. Python is basically synonymous with “scripting language” at this point – nobody likes shell languages and Ruby is fading fast.

Everyone Loves TypeScript

Returning to JavaScript, a winner is slowly emerging among the various alternatives that promise to be less dreadful while still running in every web browser. Surprisingly (at least to me), that winner seems to be Microsoft’s TypeScript! Again, none of the JavaScript successors have made much of an impact on popularity rankings yet, but there are a number of signs pointing in the TypeScript direction:

  • Google’s own Angular team picked TypeScript over Google’s own Dart language and the short-lived AtScript alternative. The stated reasons: unlike Dart, TypeScript is a seamless extension of JavaScript that doesn’t require learning a whole new language or rewriting an existing code base (your own or a library’s). Moreover, TypeScript produces ordinary JavaScript that ordinary JS applications can consume – whereas Dart currently doesn’t generate consumable JS.
  • Soon after, Google canceled the native Dart VM it had once planned for its Chrome browser. Dart now always compiles to JavaScript, just like TypeScript – except that it cannot operate as easily with existing JavaScript. I smell a tacit admission here that Dart uptake was slow and there was no realistic chance of other browsers integrating a Dart VM. However, if you always just compile to JS the TypeScript approach is more attractive, for the stated reasons.
  • Then Telerik’s TJ Van Toll speculated on The Rise of TypeScript. Telerik’s NativeScript framework for cross-platform mobile applications is built on and for TypeScript, and Van Toll’s Google Trends chart shows a rapid growth in TypeScript interest, compared to stagnation for CoffeeScript and Dart. Van Toll cites the same reasons as above: easy integration with existing JavaScript teams, tools & code bases is a massive advantage that outweighs any design compromises resulting from the TypeScript approach.

It helps that Microsoft’s leadership has its head screwed on right these days, too. There are no commercial or other proprietary chains on TypeScript. Various editors already offer support, with Microsoft’s own Visual Studio 2013/15 available as fully functional Community Editions, capable of using extensions and licensed for most uses, unlike the shamefully crippled “Express Editions” of yore.

TypeScript itself has a detailed public language specification and full source code on GitHub. If you need further reassurances, inventor Anders Hejlsberg is famous for his excellent language designs from Turbo Pascal to C#, and forward compatibility to ECMAScript 6/7 is a priority – see e.g. the upcoming TypeScript 1.5. If you’re planning to write a substantial JavaScript application, TypeScript is starting to look like an excellent bet.

2015-04-16: Neil Green has just posted an extensive slideshow with a comparison of features and sample code in TypeScript, CoffeeScript, and ECMAScript 6. Also, many pictures of cute little kittens.

12 thoughts on “Programming Languages in 2014”

  1. I think Craigslist postings are some of the rawest, most forward postings for jobs and needed skills on the internet. I think this metric should be included in at least some of these rankings.

    1. Interesting idea! Searching for various programming language names in software jobs for the San Francisco Bay Area, here’s what I found right now:

      Java (299), JavaScript (296), Python (287), Ruby (171), C++ (139), PHP (124), Objective[-| ]C (107), C# (100), CoffeeScript (25), Swift (21), Dart & TypeScript (1 each).

      There are 170 hits for C but that’s pretty much useless as “C/C++” and “Objective-C” get counted in these results. Would also be better to search all areas and longer time ranges, but there doesn’t seem a way to do that from the web interface. Maybe someone could write a script…

  2. The fact that C# is underrepresented on GitHub is not a result of its enterprise usage but because of Codeplex. Until very recently all meaningful C# projects were hosted on Codeplex rather than GitHub and even today many active projects are maintained there although the most important ones were moved.

    1. Good point. I recall there are (or were) a bunch of non-MS projects hosted at CodePlex, though I don’t know the total number. So we should see the share of C# projects on GitHub rise quickly from now on.

      1. C# is overrepresented on Stack Overflow simply because its early user community overlapped with C# users, having been written in C#/ASP.NET MVC/LINQ, by a prominent blogger who often covered MS technologies.

        The above stuff about TypeScript is great to read. Interested to know why is TS’s success is a surprise to you?

        1. Eh, I don’t know that the language SO is written in would have all that much influence on the questions asked there. The site has long been way bigger than the team that built it.

          TypeScript’s emerging popularity surprises me because if you think of companies relevant to the Internet, Google would come to mind long before Microsoft. Yet it’s Microsoft’s browser language that seems to succeed against Google’s.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.