CXO

Why new-school tech trends are being driven by old-school languages like Java

Technology has never moved faster, yet the languages in which it's being written remain largely the same year after year. What gives?

We had a polyglot moment in tech, when role-specific databases or languages seemed to be gaining favor. That moment, however, is over. Not convinced? Just look at the relative stasis of programming languages. Despite an increasingly software-driven world, the languages we use to write that software has remained essentially the same for the tech equivalent of eons.

More of the same

Wondering what the top-10 most popular programming languages are, as measured by their incidence on GitHub and Stack Overflow? Redmonk just released the latest data, and uncovered the following list:

    1. JavaScript
    2. Java
    3. Python
    4. PHP
    5. C#
    6. C++
    7. CSS
    8. Ruby
    9. C
    10. Swift/Objective-C

      Cool. Now rewind five years to 2013:

      1. Java
      2. JavaScript
      3. PHP
      4. Python
      5. Ruby
      6. C#
      7. C++
      8. C
      9. Objective-C
      10. Shell

      SEE: Job description: Java developer (Tech Pro Research)

      Not the exact same, of course, but remarkably consistent. Sure, languages have swapped places but despite tectonic shifts in cloud, AI/ML, mobile, etc. over the last five to 10 years, we still largely use the same languages. Redmonk analyst Fintan Ryan has visualized this consistency thus:

      Redmonk language trends
      Image: Redmonk

      There are a few good reasons for the persistence of the leaders, one of which just comes down to how Redmonk counts, as Redmonk analyst Stephen O'Grady pointed out:

      As always, the consistent performance of our Tier 1 languages - the top ten, more or less - is at once surprising and unsurprising. The relatively static nature of the top ten languages is interesting, certainly, in a technology landscape that is best characterized not by the high level of change but the increasing pace of same. Conversely, however, it's important to note that the numbers measured are accretive, and as with financial metrics rates of growth are fastest when projects are new and harder and harder to come by over time. New language entrants are behind from the day they are released, in other words, which makes displacing the most popular languages a significant and uphill battle.

      More succinctly, as Ryan posited: "This reflects the investment people make in learning a language and the reality that shifts in the languages that businesses use to develop software happens slowly."

      I wanna be average

      It also reflects the reality that general purpose languages, and general purpose tech infrastructure in general, tends to win. Outside of programming languages, we see things like MongoDB and Microsoft's CosmosDB beating out more niche-y alternatives by addressing a wide array of use cases. Enterprises and their developers prefer to learn a few, general purpose tools and apply them broadly, rather than follow the polyglot approach of learning a gazillion niche technologies to address a gazillion niche use cases.

      SEE: DevOps: The smart person's guide (TechRepublic)

      There simply isn't time or adequate pay-off for that investment.

      In language land, it's largely the same. In schools younger developers are taught the old standbys like Java, establishing a solid foundation for their future careers. While older developers get excited about new languages like Go, they still spend most of their time with Java, JavaScript, Python, etc. because that's what their companies are built upon. Does this mean cool languages like Go will never crack the top five? Possibly.

      And that's okay. A language like Go can be exceptionally cool, but remain such mostly for the cloud infrastructure crowd. The rest of us will plod along in our Java/JavaScript/Python lanes. The world will change, and often through the continued evolution of old languages. It's ironic, it's true, and it's actually kind of exciting that so much new can be built with so much that is old.

      Also see

      developers.jpg
      Image: Stockphoto/ijeab

      About Matt Asay

      Matt Asay is a veteran technology columnist who has written for CNET, ReadWrite, and other tech media. Asay has also held a variety of executive roles with leading mobile and big data software companies.

      Editor's Picks

      Free Newsletters, In your Inbox