Perhaps you missed RedMonk’s semi-annual update of programming language rankings but, if so, let me offer a spoiler: Python is winning. While Python‘s growth in popularity has been “metronomically” steady, according to RedMonk analyst Stephen O’Grady, a number of factors have combined to place Python in the #2 spot with Java, shifting places in RedMonk’s top-10 that (almost) never, ever change places.
To get more color on Python’s achievement, I eavesdropped as the RedMonk team chatted over Slack about the results. You can (and should), too, but if you want the tl;dr on Python, well, here goes.
SEE: Python programming language: Best resources for developers and managers (TechRepublic)
Python: The new gateway programming language
While Python didn’t displace Java in the rankings, tying for second is a big deal, because it’s hard to make up ground on a stalwart performer. Why? Because “the metrics are inherently cumulative” that feed into the rankings, said RedMonk analyst Rachel Stephens in the Slack chat. For example, the data derives from pulling data from GitHub repositories and Stack Overflow mentions. A programming language might be growing relatively faster than others, but RedMonk focuses on the absolute popularity data.
As such, to catch up with a venerable programming language like Java is super impressive. O’Grady: “[W]e haven’t seen any notable dropoff in Java, but we have seen Python continue to make gains in various disciplines.” Those disciplines? Things like data science, where Python is even more popular than R.
SEE: Hiring Kit: Python developer (TechRepublic Premium)
The irony is that Python is somewhat similar to Java in its generalist approach, yet easier to use. O’Grady captured this well: “Python isn’t necessarily the best language in a given area–say, data science–but it’s good at a lot of things. Combine that with a syntax that’s easy to learn, and it’s not hard to understand why the language is growing.” Python, in short, is a great tool for those who have time to learn one language well, and hope to apply it broadly.
Java is not too dissimilar, except that it’s not nearly so simple to learn. Java used to be the “gateway language for many,” noted RedMonk analyst Kelly Fitzpatrick. It was where engineers started, and used the learnings from Java to round out other software development concepts in their arsenal. But no more. Java has ceded the “gateway” crown to Python.
In fact, it may well be that Python shows so strong in the RedMonk rankings precisely because it’s a great language for developers getting started in their careers, a group that may be prone to ask more questions in public forums. Fitzpatrick: “If Python is where a critical mass of early-career programmers are comfortable, that will shape how they look for other types of learning resources, how they interact with public projects, the types of questions they are asking in forums, etc.”
The enigma machine
And yet, said RedMonk analyst James Governor, “Python is sort of an enigma.” How so? Well, “[I]t doesn’t feel like an ‘enterprise standard’ in many ways,” yet many companies are “hiring Python folks like nobody’s business” for their data science teams. Perhaps Python still doesn’t feel “hefty” enough to seem “enterprise-y,” whatever that means, but it’s clearly getting adopted all the same.
SEE: Getting started with Python: A list of free resources (TechRepublic download)
Perhaps one reason, concluded Stephens, is that Python is “a great glue language that lets disparate code interoperate. In that sense it makes a lot of sense for enterprises to invest in Python as a way of investing in their established code.” In short, while Python offers enterprises a great way forward into things like data science, it also remains a great way to stitch together old applications and new.
Disclosure: I work for AWS, but nothing herein relates to my employment there.