Java and C still reign supreme, but Python has snaked its way into the top three on the TIOBE programming-language popularity list. The upward mobility of Python makes it TIOBE’s language of the year.
Simply put, Python gained more ‘points’ in the rankings than any other language in 2018, and a larger percentage jump (3.62 percent). Python also usurped C++ as the third-most-popular language on TIOBE’s chart, while C# fell out of fifth place, swapping with Visual Basic .NET for seventh (even though everyone claims to hate VB.NET). Java and C remain first and second, respectively.
A prominent sign of Python’s popularity gain: machine learning. Thanks to Python’s newfound ubiquity as a machine learning language, R (a language specifically for machine learning) fell four spots to twelfth place.
Elsewhere, SQL (totally unranked at the start of 2018) is a top-ten language. Objective-C, which is essentially in ‘planned obsolesce’ mode, is resisting death; it shot from 16th place to tenth over the span of 2018. Its successor, Swift, dropped from 12th to 15th place.
If you want something to look forward to in 2019, TIOBE thinks Kotlin will ease its way into the top 20. The organization writes: “We see a fast adoption in the industrial mobile app market of this language.” Indeed, we’ve seen a massive uptick in Kotlin jobs since Google made it an official Android language. All told, Kotlin definitely seems poised to make a big move, riding on the coattails of Java.
But we should point out that TIOBE is merely usage metrics. Save for Java and C, which are mainstays in the top two spots, most other languages on the list have little separating them from one another. The delta between Objective-C and Swift, for instance, is roughly half a percentage point (and they’re five spots apart!).
TIOBE notes Ruby had a rough 2018, falling from 11th to 18th. The last time such a shift happened for Ruby, TIOBE blamed it on hipsters (and possibly the iPhone). There was nobody to point the finger at this time, so we’ll have to wait and see if Ruby is in terminal decline or just not heavily in-use right now.