This iteration of the RedMonk Programming Language Rankings is brought to you by Cloudflare Workers – the fast, secure, and affordable serverless platform. No matter the language, Cloudflare Workers helps developers solve their hardest problems. Start building today with Cloudflare Workers!
kelly (Kelly Fitzpatrick): The purpose of this chat is to discuss the findings of the June 2020 RedMonk Programming Language Rankings, sponsored by our good friends at Cloudflare.
RedMonk publishes rankings every six months, and, as we have done for the past few iterations, we wanted to make this discussion an opportunity to get behind the numbers and charts. For folks who may have missed them, this conversation refers to the June 2020 rankings and the Top 20 Languages Over Time for June 2020.
We normally start with a “general impressions” question, but for this edition of the rankings I’d like to get straight to the point: what is your reaction to Python overtaking Java in the rankings (which marks the first time in the history of the rankings that Java is not in the top 2)?
monkchips (James Governor):
kelly: That was a very @monkchips reaction.
monkchips: It feels like a big deal, and after the January results, is beginning to look like a clear trend. Which is to say, I don’t really expect Python and Java to be jockeying for number one and two over the next few Rankings. Our methodology is generally not particularly noisy or prone to big swings.
there can be only one
sogrady: TypeScript held steady at 9, which in and of itself is notable, because the only other recent entrant to the Top 10 – Swift – got bounced back out after a quarter or two.
rachel (Rachel Stephens): This is a good place to remind readers the rankings are accretive, meaning incumbent languages have an advantage in their longevity/size.
kelly: Back to a more general question: aside from the Python/Java news, what were your general impressions of the rankings? Were there any surprises?
rachel: New entrants to the top 20 are always notable. Hi, Rust!
kelly: A new entrant and also a new Rust-appropriate label color on the language rankings over time chart.
kelly: I also want to point out that @sogrady predicted Rust’s entrance into the Top 20 back in our June 2019 Language Ranking SlackChat:
Rust I expect to hit the Top 20 if not next run, the one after that. The trendline is pretty clear….
sogrady: As we always say, “We can tell you what will happen, we just can’t tell you when.”
monkchips :I am of the opinion that Rust’s growth is real and sustained. Even two or three years ago there weren’t that many Rust jobs around. Now Rust is a hot skill set, and pretty much every company building Cloud and Edge infrastructure is investing in Rust and hiring accordingly. Rust used to be for academics or hobbyists. Now it’s for hardcore infrastructure. It’s a thing. The Microsoft research into safety, recommending Rust as a go to language going forward for better more stable code is very very notable.
sogrady: Next step: getting Rust into the Linux kernel: https://www.zdnet.com/article/programming-languages-now-rust-project-looks-for-a-way-into-the-linux-kernel/
kelly: Agreed that the tie to available career opportunities is important. It also does not hurt that Rust was voted # 1 “most loved” language in the 2020 Stack Overflow Developer Survey.
monkchips: Indeed Rust has been the most loved language in the Stack Overflow survey for 4 years. It is a legit phenomenon. Safe and loved is quite the combo.
So both Rust and TypeScript are trending – safety is definitely in vogue.
The hallmarks of success, recently at least, have been:
- A language’s versatility (e.g. Java, Python)
- A language’s ability to piggyback on existing communities (e.g. Kotlin, TypeScript)
- A language’s focus on safety (e.g. Kotlin, TypeScript)
Ah Stephen that is a nice framework. Is that a blog post?
And just before your vacation too.
kelly: So “language success = versatility + community + safety + love” sounds like a good key takeaway to me. Any other important takeaways or observations from this round of the rankings?
rachel: I think developer tooling and a language’s ecosystem is an important aspect of language adoption. First-class IDE support, SDKs, frameworks: all of these things make such a difference in supporting a language’s usage.
sogrady: One of the interesting takeaways from my perspective was the relative lack of movement.
The Python/Java news notwithstanding, it was an abnormally quiet run. Languages like Dart, Kotlin and Julia that had been moving up all stalled.
monkchips: Bit surprised by Kotlin. I really thought the Android decision – to support Kotlin as a first class citizen – was going to make a difference to adoption, given folks really like the language.
sogrady: Well, five years ago Kotlin was #68 while Rust was #48, and Kotlin sits one place ahead of Rust right now, so it has grown phenomenally quickly.
rachel: I mean, it definitely has made a difference. Kotlin was #48 5 years ago and is now in the Top 20.
sogrady: But I think Kotlin’s inability to jump higher is a function of the lack of huge adoption within the enterprise Java base, its ability to commingle notwithstanding.
rachel: I think we saw with Swift that being a first class language on a large platform definitely helps a language in growth, but it’s also not necessarily going to be a deciding factor in sustained growth.
monkchips: When it comes to longevity there is one old fashioned and not hugely successful company seemingly making solid and continued investments in Java. Have you heard of Apple?
Want to join Apple JDK team in Bay Area or London?https://t.co/6Qd2pmiOuJ
— Arun Gupta (@arungupta) July 21, 2020
Java is 25 years old this year.
But what I find amusing is that Python, which finally hit number 2 is even older. December 1989. That’s pretty wild.
kelly: I think you mean 25 years young.
But for whatever reason, folks I talk to assume that Java is older than Python.
monkchips: So both languages are Millennials.
rachel: I feel like Python has found use cases that feel newer (like data science / ML). I suspect this is a factor in the perception.
monkchips: Very strong agree. Data science transformed Python in the sense of being cool, and applicable in new areas.
sogrady: That, and Python isn’t instantly associated with crusty old long running enterprise applications.
kelly: I mean, it’s just also a good language to learn with (one of the reasons it has displaced Java in a lot of introductory CS courses).
monkchips: Tell us more about that Kelly. Because easy or not, Java has a massive education ecosystem built around the language, one reason it’s shown such longevity.
kelly: Oh, Java still does have quite the education ecosystem (e.g., the AP Computer Science A exam, is still in Java), but for resources built around introducing folks to computer programming in general, there has been a shift from using Java as the basis for instruction to using Python. Georgia Tech, for instance, uses Python in its Introduction to Computing and Programming course, and I recall a great conversation I had with a former GT colleague about how Java was used formerly. MIT is another example; Python features in its introductory computer programming course (which you can access through its OpenCourseWare initiative).
kelly: We are getting close to time, and I want to make sure we save time for this last question: Any predictions on what we might see in our next rankings?
monkchips: Anyway – programming languages don’t really matter anymore because we have GPT-3 now.
More seriously – MOAR RUST, MOAR TYPESCRIPT
rachel: Not a prediction, but I am interested to start digging more into numbers on what COVID is doing to participation on GitHub/Stack Overflow. I suspect the trend numbers there will be interesting.
That’s a bit outside the scope of this project, but it’s something we’ll start to look into once kids go back to school and people are allowed to have jobs again.
So… next summer maybe
(I kid, I kid. I hope.)
sogrady: I’m curious to see what impact a services model has on development and thus language usage. If you’re building the actual service, you might leverage something like Rust for safety reasons.
But if you’re merely integrating a variety of existing third party services on the back end that are doing the heavy lifting, your language usage is more likely to be something lighter weight.
The impact of that would be longer term, but I’ll be watching for it.
monkchips: Yeah I think that was what I was trying to say in my riff about client/serverless above. it’s not clear that isomorphism is so desirable in this more two-tier world
kelly: Sounds like a blog post, @monkchips
rachel: I enjoy when the blog post assigner becomes the assignee.
monkchips: But yes, that’s a good idea.
kelly: And with that I am calling this a wrap before @rachel or I tempt fate and get assigned a blog post.
Thank y’all for your time today!