Should we be worried about programming languages?

Today, seemingly the only way a new programming language hits the big time is with the generous backing of a megacorp

Should we be worried about programming languages?
Getty Images

There once was a time when a starving PhD student could improvise a new programming language and within a few years the entire world was using it. That time is gone. Today, as evidenced by the rising popularity of languages like Kotlin and Go, seemingly the only way a new programming language hits the big time is with the generous backing of a megacorp.

The question is whether this is an inherently bad thing.

The 1990s: the era of the freewheeling hacker

It wasn’t always thus. As Hacker One CEO Marten Mickos related, “The end of the 1990s was an unusual period with an exceptional number of grassroots and small projects that then became huge.” Not only programming languages, but all sorts of technology upstarts like MySQL and Linux also boomed during this fecund period.Perry Ismangil concurred, saying, “It was the beginning of the internet plus web reaching the masses.” Ismangil goes on, arguing, “People were scrambling to build web apps that [were] not CGI running C, for example—PHP and JavaScript.”

From PHP (Rasmus Lerdorf) to Python (Guido van Rossum), much of the early web’s languages were written by individual hackers. If they were helped by an organization, as was the case of Brendan Eich (JavaScript) at Netscape, it was a comparative startup helping to shape the industry around it.

While this happened outside the web world, usually there was a big company lurking in the shadows. Bjarne Stroustrup, for example, started his work on C++ while a PhD student. By 1983, however, Stroustrup was using C++ at AT&T. As he recalled:

When I first developed C++, AT&T built systems of greater complexity and with greater reliability requirements than most organizations. Consequently, we had to influence the market and help set standards that meet our needs—or else we wouldn’t have the tools to build our systems. …

At the time when I developed C++—and before that when Ken Thompson and Dennis Ritchie developed Unix and C—AT&T was probably the world’s largest civilian user of (and consumer of) software tools. Then, we probably used a wider range of systems—from the tiniest embedded processors to the largest supercomputers and data-processing systems. That put a premium on systems that were applicable in many technical cultures and on many platforms. C and C++ were designed with such demands in mind.

Thus generality is essential, and proprietary features are seen as limiting the choice of platforms and vendors. As a consequence, AT&T was and is a major supporter of formal standards (for example, ISO C and ISO C++).

AT&T, in other words, helped shape C++ by pushing it as an industry standard. The project may have started as a PhD student’s whim but quickly became an industry-shaping norm.

The 2010s: Corporate-driven languages rule

Things are different now. As Ismangil told me, “By the time next wave comes—mobile apps—it’s largely controlled by Google, Apple, and [to a] lesser [extent] Microsoft.” The web had largely been shaped by open source hackers scratching their own itches. Today’s web and app world, by contrast, is being shaped by major enterprises largely dictating which itches can be scratched.

You can see that in the latest Redmonk language popularity rankings. Among the movers and shakers:

  • Go (No. 15) was developed by Googlers Robert Griesemer, Rob Pike, and Ken Thompson in 2007, open-sourced in 2009, and has been a core language for building cloud applications.
  • TypeScript (No. 12) started out as an internal project at Microsoft, informally released in 2012 and formally released in 2014 at Microsoft’s Build conference.
  • Kotlin (No. 20) was originally developed by JetBrains, then was officially embraced by Google for Android development in 2017.
  • Objective-C (No. 10) and Swift (No. 11): While Objective-C started outside Apple (in the early 1980s at Stepstone by Brad Cox and Tom Love), eventually Objective-C got pulled into Apple, only to be succeeded in 2014 by the Apple-created Swift.

Other languages, like Microsoft’s CNo, came with corporate sponsorship from the beginning. And some newer languages, like Rust, seem to be “doing things the old-fashioned way, through organic community growth built on value,” as IBM’s Christopher Ferris stated it. But for the most part, the web and app future is being built on corporate cash, rather than community momentum.

Is this a bad thing? I don’t know.

Certainly, each of these new languages has learned the lessons of the past, and each is open source by default. We no longer have an enterprise trying to build proprietary applications with a proprietary language. But we do, of course, have enterprises trying to sway the direction of programming, something that is incredibly difficult, given how static these rankings remain, as Redmonk analyst Stephen O’Grady has indicated:

Generally speaking, the top ten to twelve languages in these rankings tend to be relatively static, with changes both rare and minor in nature. While the landscape remains fantastically diverse in terms of technologies and approaches employed, including the variety of programming languages in common circulation, code written, and discussion are counting metrics, and thus accretive. This makes growth for new languages tougher to come by the higher they ascend the rankings—which makes any rapid growth that much more noticeable.

While we haven’t seen much change in the industry’s Top 10 programming languages, we’ve seen a surprising amount of change in Nos. 11 through 20, much of that stemming from significant corporate investment. That investment comes with a price, of course, but also with a major payout: Every developer who builds in Swift, for example, adds to the body of apps for which Apple can claim its 30 percent fee. Enterprises are looking for ecosystem lock-in, and programming languages—even open source languages—help to shape that lock-in.

We have, in short, moved away from the freewheeling 1990s when PHP, Perl, and Python did much to reshape the world (and web), and when even JavaScript was designed to expand the future of the industry and not merely one company’s balance sheet.

It remains to be seen whether the corporate-sponsored languages of the last decade will achieve equally noble ends, or whether they’ll pad the profits of their sponsors. Let’s hope for the former while being suspicious of the latter.