This iteration of the RedMonk Programming Language Rankings is brought to you by MongoDB. No matter the language, MongoDB helps developers solve their hardest data problems. Build better, bigger, and faster with MongoDB Cloud.
kelly (Kelly Fitzpatrick): The purpose of this chat is to discuss the findings of the January 2020 RedMonk Programming Language Rankings, sponsored by our good friends at MongoDB.
RedMonk publishes rankings every six months, and we felt it would be good to have a discussion to get behind the numbers and charts. For folks who may have missed them, this conversation references the January 2020 rankings and the Top 20 Language Over Time for January 2020
Now that we have all of the important background information out, what were your general impressions of this round of rankings?
monkchips (James Governor): BEST RANKINGS EVAR!
kelly: @monkchips No confirmation bias there at all.
sogrady (Steve O’Grady): As the rankings typically go, it had some surprises, even in the Top 10 which almost never happens.
rachel (Rachel Stephens): This is the first time since I’ve started working on them that there’s been any movement in the Top 5.
sogrady Is that right, @rachel? Didn’t PHP and Python trade places since you’ve been doing them?
Either way, yes, there was a lot of notable movement.
rachel: I have no sense of time before having a kid. This is the first time there’s been a change since I stopped consistently sleeping, in any case.
rachel: In any case, the Python move was definitely interesting to see. I’m curious if that will be sustainable or if it’s just a blip. It has some definite momentum, but it’s hard when the metrics are inherently cumulative.
monkchips: So is Python winning, or is Java losing?
kelly: Can’t they both be winning?
sogrady: The former. First, because they’re tied. Second, because we haven’t seen any notable dropoff in Java, but we have seen Python continue to make gains in various disciplines.
monkchips: OK, so here is the thing. While I know Python has made huge strides, certainly in becoming “the language of data science” and has a growing community very well-indexed on both Stack Overflow and GitHub, I am really interested in the team’s ideas about what specifically has given it this latest push.
sogrady: I’m not sure if it’s so much a push, as much as the culmination of a long term approach. 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.
kelly: I mentioned this last time, but to me the increased prevalence of Python in various types of introductory programming resources is huge.
monkchips: Oh tell me more about that onboarding insight, @kelly.
kelly: It is good at a lot of things. 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.
sogrady: Agreed. R’s continued strength is similar; the language has obvious shortcomings, syntactical, performance and otherwise – but every stats and data science course anywhere is based on it and its ecosystem. Having been trained in it, then, a ton of statisticians and data scientists continue to use it post-graduation.
kelly: I like this idea of certain languages acting as “gateway languages” to learning other software development concepts. And not too long ago, Java was that gateway language for many (although that has changed).
monkchips: I still feel like Python is sort of an enigma. Like it doesn’t feel like an “enterprise standard” in many ways, but I know that if I went to many companies’ data science teams they’re hiring Python folks like nobody’s business.
rachel: It’s also 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. Also: https://xkcd.com/353/
kelly: So aside from Python’s ascent, are there any other surprises in this round’s rankings that we should dig into?
sogrady: TypeScript’s continued growth is definitely worth discussing. I half-expected it to bounce back out of the Top 10 as Swift did before it – instead it moved up in the Top 10 which is exceptionally difficult to do. We haven’t seen that before in fact, I’m pretty sure.
And looking at @rachel’s historical language ranking chart confirms it: we have not seen a language break into the Top 10 and keep growing before – ever.
kelly: One of the questions we got on Twitter about this round of rankings actually addresses both TypeScript’s ascent and Python’s ranking, so I am going to throw it in here:
— Tracy Miranda (@tracymiranda) March 6, 2020
sogrady: It sure isn’t hurting TypeScript, that’s for sure.
kelly: It does!
— Justin Beckwith (@JustinBeckwith) March 6, 2020
monkchips: Oh yes – Top Projects could definitely be an excellent overlay.
kelly: Changing gears a bit, another question from the Twitterverse:
For which language are people the worst at following goid security hygiene, like patching vulns, using 2FA, etc
— Maya Kaczorowski (@MayaKaczorowski) March 6, 2020
sogrady: It’s a great question that we definitely don’t have an answer to, but I’m betting the some of Maya’s coworkers – specifically the folks from Semmle – would have thoughts. Thoughts that they should share.
rachel: Yes, please, Semmle!
monkchips: I kind of like the fact “good security hygiene” became “goid security hygiene” – i feel there’s a pretty good metaphor in there, Very Meta. Thanks Maya, and congratulations on the new gig at GitHub!
rachel: But that general theme of language safety is visible in our rankings if you look at the upwards trajectory of statically typed languages. TypeScript and Rust (#21, just off our trends chart) are great examples here.
There are security concepts that apply to all languages, but the languages with inherent safety features are having a moment.
sogrady: That’s an excellent point. Safety as a language driver is for sure a trend.
kelly: I am taking this as a sign to also address one of the Rust questions we received:
It seems like Rust is picking up speed, or am I just listening to too many episodes of On The Metal?
— Rich Burroughs (@richburroughs) March 6, 2020
monkchips: Rust is still for the heavy metal fans, at this point. But the big question that has been answered over the last couple of rankings will be found in another source of signal – jobs and job postings. Many more organisations are spinning up Rust projects, and hiring developers to work on them. Rust is becoming a systems language not just of repute but of production workloads.
sogrady: As for Rust picking up speed, we’re definitely seeing increased traction, but it was static in ranking in this run. It’s clearly an important language – and there are some individual instances where people are choosing it over Go for specific reasons, often the latter’s garbage collection – but it’s much less accessible than, say, Python or even Kotlin so its growth has been much slower.
kelly: By “individual reasons,” might you mean those cited in Discord’s switch from Go to Rust?
sogrady: That’s one of the higher profile examples, definitely.
monkchips: Why x moved to x is a popular tech chatter trope, feeding both confirmation bias and outrage. But yes Rust is winning advocates all the time.
kelly: A final set of questions: are there any key takeaways we missed? And any predictions on what we might see in our next rankings?
monkchips: I think we expected to see more growth with Kotlin, and haven’t. So it’s good to know where we’ve been wrong.
sogrady I think what we saw this run, and what we’ve seen in the past several, is a few key trends driving language adoption:
- Languages that lend themselves to safety (e.g. Rust, TypeScript)
- Languages that piggyback off of large existing language communities (e.g. Kotlin, TypeSafe)
Conversely, what we’ve seen is that languages that don’t necessarily fit into one of those categories have seen limited to no growth. One of the most obvious examples there is Go, which has been the would be successor to Java for core infrastructure projects for years, but hasn’t really broken out as many expected.
It’s an important language, and a critical one for a wide array of infrastructure projects, but it’s not clear where more growth is going to come from.
rachel: That is an excellent summary. It will definitely be interesting to watch what happens with Go in the coming iterations.
kelly: On my end, I just want to make sure we acknowledge @monkchips’s introduction of the phrase “redmonk horn of confirmation bias” into the world
— Always Warren (@monkchips) February 28, 2020
sogrady You mean the greatest phrase in the history of phrases?
kelly Yes, exactly. And that’s a wrap!
rachel: Nice work, team!
monkchips Yes. Our work here is done.