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.
Now that we have all of the important background information out:
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):
Just kidding…
kelly: That was a very @monkchips reaction.
sogrady (Stephen O’Grady): Well, on the one hand we always caution people not to read too much into the specific spots on the rankings because the differences between them tend to be slight. On the other, we’ve been doing this since 2012 and this is the first time anything other than Java or JavaScript has been in sole possession of a Top 2 spot, so Python should probably take a deserved bow.
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.
kelly:
there can be only one
sogrady: Also, out of all of the languages in the survey, the gap between JavaScript and everything else is the largest by far.
monkchips: JavaScript is pulling away from the pack. What’s up with TypeScript this time around?
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.
That said, when looking just at the data from this period: TypeScript did numbers. In our GitHub data pull, it was the second most popular language behind JavaScript for the first half of 2020.
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.
monkchips:
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.
sogrady: Indeed.
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)
monkchips: I spoke to Matthew Prince, CEO of Cloudflare, the other day, and it was quite an interesting discussion. As a company they had to decide just how hard to lean into Rust when they began building serverless products. Should they build Rust specific tooling? Of course they made the sensible decision to focus on a more multi-language approach, but clearly supporting JavaScript and Python seems like the right basket for building a broad-based platform play in 2020.
Ah Stephen that is a nice framework. Is that a blog post?
And just before your vacation too.
kelly: James.
sogrady:
grr
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.
kelly: YES
monkchips: Ok i will jump in. I do think the framework Stephen laid about maps to modern application development trends, particularly the rise of serverless, and indeed what FaunaDB has begun to call client/serverless. JavaScript and TypeScript for rich fattish clients orchestrating rich ecosystems of back end services (Algolia, Auth0, Stripe, etc). The serverless community calls this Serviceful. The SSG crowd have settled on Jamstack, as coined by Netlify, Gatsby just took an impressive round. I wrote a piece describing the trend using an alternative terminology “SMOKEstack”.
But certainly the development models are changing, and JavaScript can only benefit. So yes I don’t see it challenged any time soon.
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.
Jinx.
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
DMs are open for referral#Java pic.twitter.com/xd2dMP24ek
— 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).
sogrady: Anecdotally, at least, I’ve seen what @kelly has seen, that CS courses – particularly introductory ones – are shifting away from Java to Python, in some cases, or more frequently JavaScript.
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
monkchips:
not listening
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!
No Comments