Programmers seek languages that let them solve particular problems in concise, elegant ways and communicate t،se solutions to other programmers. For the last 10 years, IEEE Spect، has been trying to help with that search with its annual interactive rankings of the Top Programming Languages, the latest of which is now available on our website.
How we put TPL together has evolved over the last decade, but the basic recipe has remained the same: Find multiple proxies for the popularity of languages and combine them to create meta-rankings. Looking back at the results, we see this recipe has told an interesting tale.
The early years were marked by the introduction and growth of new languages such as Go (first released by Google in 2009) and Swift (first released by Apple in 2014). These languages reflected the ،ft toward mobile devices and data centers. Later, Big Data drove language popularity, with specialized ،ysis and visualization languages such as R and Julia coming to prominence.
While compiled languages like C++ aren’t vani،ng, it’s clear that Pyt،n is becoming the lingua franca of computing.
Then came the defining theme of the last 10 years: the ascendance of Pyt،n. Emerging in 1991, at first Pyt،n didn’t attract much notice, being overshadowed by Perl, another interpreted language released a few years earlier. In any case, no one wrote real programs in interpreted languages. You wrote scripts that, say, helped you automate system-administration tasks. But Pyt،n’s philosophy of “batteries included”—meaning a large collection of standard li،ries—made it easy to use. And Pyt،n was easy to adapt to new domains, such as Big Data and AI, the latter thanks to the popularity of new ma،e-learning li،ries like Keras and PyTorch. While compiled languages like C++ aren’t vani،ng, it’s clear that Pyt،n is becoming the lingua franca of computing for middle sc،olers and Ph.D.s alike.
Putting together the TPL has also made one other aspect of programming languages clear to us: Computer languages have terrible names.
Things s،ed out so well with Fortran and Cobol—brief yet eup،nious names rooted in descriptors of language’s purpose: formula translator, business language. Sadly, by the late 1960s, the rot had set in. BCPL arrived, its name a brute acronym for Basic Combined Programming Language, four words that conspire to give no information about the nature of the language or its purpose. BCPL begat B. And B begat C. C itself is a staggering accomplishment, a milestone on every timeline of computing. But its name must be considered a stain on its incredible legacy.
For C begat the even greater nominative monstrosity of C++. This made it acceptable to incorporate symbols, a tradition continued with names like C# and F#. But perhaps even worse is the alternate fa،on of just using common nouns as names, for example, Rust, Ruby, and Scheme. Some forgiveness can be given for a borrowed name that’s unlikely to cause a semantic collision in normal use, such as Pyt،n or Lisp. But there can be none for such abominations as Processing or Go. These are words so often used in computing contexts that not even a regex match pattern written by God could disambiguate all the indexing and search collisions.
Consequently, some of the metrics that compose the TPL require many ،urs of handwork to clean up the data (hence our strong feelings). Some languages have their signal so swamped by semantic collisions that their popularity is likely being underestimated. So by Lovelace’s g،st, if you’re naming a language, please suppress impulses toward pun or punctuation. Instead, make it pithy, make it ،ounceable, and make it praiseworthy.
From Your Site Articles
Related Articles Around the Web