The rise and fall in programming languages' popularity since 2016 - and what it tells us
Over the past few weeks, we've been discussing programming language popularity here on ZDNET. Most recently, I aggregated data from nine different rankings to produce the ZDNET Index of Programming Language Popularity.
Also: The most popular programming languages in 2024
While pulling those stats together, I found my raw data from a similar survey I did back in 2016. While that study was based on six rankings instead of the nine I used this year, it still proved instructive regarding overall language popularity across constituent groups.
I was curious. Given the data, how did language popularity change over the last eight years? Obviously, the big change in our computing landscape has been AI, so where did that fit into the mix? The result is this very pretty diagram.
That one diagram contains a lot of information. Let's try to break it down into more manageable chunks, starting with the hottest languages.
The top languages
Python is an elegant language. It's simple yet enormously powerful and has become the go-to language for AI and data scientists, as well as general web development. It not unexpectedly moved to first place.
Also: How LinkedIn's free AI course made me a better Python developer
JavaScript has become more and more central to web development, especially in the creation of dynamic web documents. Frameworks like React and Angular have also helped expand its usefulness and pushed it above other languages.
The consistent performers
If there are any languages that embody classic programming, they're the C-based languages: Java, C++, C#, and C itself. Proving that algorithmic coding still has a lot of life, these languages were essentially unchanged.
Sure, Java dropped two positions in our index, but it's still in the winner's circle. Java is a robust, object-oriented programming language commonly used in enterprise applications and also in Android development. Despite competition from other languages, there are an enormous number of programmers and applications keeping it relevant. For those of you who don't follow languages too closely, Java and JavaScript are quite different beasts.
Also: The best AI for coding in 2024 (and what not to use)
C++ is the extension of ancient C, adding object-oriented features. While C dates back to 1972, C++ is still pretty ancient, having been initially deployed in 1985. Still, it's popular for compiled, performance-sensitive applications that need object-oriented structure.
C# is Microsoft's take on C++, used widely in Windows applications and Windows games. It's fast, efficient, and totally baked into the Microsoft development ecosystem.
I'm honestly a bit surprised at C's longevity. That said, it's tight. It has no added cruft and does just what it says on the tin. It's well-appreciated in certain areas of OS development, compilers, and embedded systems.
For the top six languages, the only changes over the eight years have been a few position shuffles. But now, as we move on to languages a little less universally popular, we see that volatility has been fairly extreme.
The new entrants
TypeScript, Rust, Kotlin, and Dart were not on our 2016 list but are now on our 2024 list. All four existed before 2016 (although Rust was barely a year old at the time), but now, they're seeing stronger uptake.
Also: AI development and agile don't mix well, study shows
TypeScript is another Microsoft-originated language. It is essentially a modern JavaScript, adding static typing. This improves code quality and makes maintenance easier, especially as projects grow. Its ability to scale JavaScript projects is probably one of the factors leading to its growing popularity. Another is that it has been incorporated into major JavaScript frameworks.
Rust is a language used heavily in systems programming. Its focus on memory safety without sacrificing performance has helped it take some systems work from C and C++.
Kotlin is essentially Java on steroids. Kotlin is fully interoperative with Java, adding some coding safety features, helping coders write more concise code, adding coroutines for asynchronous code, allowing programmers to extend classes using extension functions, and more. Google chose Kotlin as the preferred language for Android, which gave it a strong boost.
Also: Productivity and patience: How GitHub Copilot is expanding development horizons
Dart and Flutter sound like something out of a Disney movie, but instead we're talking language and framework. Dart, developed by Google, excels at building mobile UIs, and Flutter helps developers deploy across platforms.
The rising stars
With the exception of Go, our rising stars are really old faithfuls, just with a little more spring in their step.
Go is another statically typed language developed by Google. It provides a fairly simple structure for building scalable, concurrent applications. Go has become popular for cloud computing, microservices, and containerization.
Since we've mentioned static typing a few times, maybe I should explain it to you. Variables are coding containers that contain values that change. The values that are assigned often belong to different types (like integers, strings of characters, floating point numbers, and so on). Often, compilers and interpreters don't check what type of value should go with what variable.
Also: How to use ChatGPT to write code: What it can and can't do for you
Problems may arise from this issue once deployed, but may be missed during development. Static typing checks variables and values during the development process, leading to more reliable code once deployed. It would be magic, except it's a mere matter of programming.
The next few languages caused some debate in previous articles. Some programmers claim they're not even real languages. I've included them because they were included in the surveys I aggregated. And with that, let's discuss SQL, HTML, and shell.
Algorithmic programmers (especially the C/C++/C# variety) will look at HTML and SQL and decry them as not real languages. That's because they don't have typical algorithmic programming features. But they are based on a syntax that generates a result, and, more to the point, they're skills necessary to produce applications.
HTML (which defines the structure of web pages) and CSS (which defines the style) will probably never get old. And webpages, whether in the form of entire sites or just pieces of output, are table stakes for most modern projects. Why they rose since 2016? Web development remains key to digital transformation, so skills are in demand.
Also: The best free AI courses
SQL (Structured Query Language) is a language for retrieving data from databases. As data becomes increasingly important, so too is the ability to retrieve it.
Shell programming, which is a tool for programming sequences of programs, has been around since the dawn of time. It's one of the features that has given UNIX and then Linux such power. Forms of shell programming exist for all major operating systems, but it's the need for more and more automation and orchestration in complex systems environments that's keeping these old school tools relevant and constantly evolving.
Languages losing popularity
Languages dropping in popularity include PHP, Swift, Ruby, and R.
Because WordPress is built in PHP and I do a lot of WordPress programming, I program heavily in PHP. It is not all that fun. PHP is a very inelegant language, with weird inconsistencies and exceptions. It's powerful and capable but ugly and prone to unnecessary errors. It's dropping in popularity as Python is increasing.
Also: How I used ChatGPT to scan 170k lines of code in seconds and save me hours of detective work
Ruby is another language that had its time in the sun, but there are better alternatives. JavaScript, particularly combined with Node.js, Python, Go, TypeScript, and Rust are all more flexible, powerful, and code-safe alternatives.
I was honestly surprised to see the statistical language R drop, especially as data analysis requires stats. But the fact is, everything R could do, Python can do better. Are you starting to see why Python is so popular?
And then there's Swift, Apple's poster child for iOS development. Does the drop of Swift mean that iOS apps are dropping in popularity? No, not really. It's just that Swift is no longer the only game in town for iOS development. Alternatives include AppCode from JetBrains, Flutter developed by Google, React Native created by Facebook, and the powerful Unity game development platform.
Languages that fell off the chart
It makes sense that Objective-C should drop off the charts. This was once the main programming environment for Apple devices, but Apple actively replaced it with Swift. So, essentially, Objective-C is obsolete.
Perl is amazing for what it does, but its code is so compact as to be nearly unreadable. That also makes it much harder to maintain. As coding projects become larger and larger, maintainability becomes more important than how few characters it takes to write a line of code.
Also: How I test an AI chatbot's coding ability - and you can, too
Visual Basic and Delphi were once mainstream languages for building Windows applications, but they have been replaced by web development for some applications and C# for everything else. They're not forgotten, but mostly gone.
What do you use?
What languages are you using? Have any of your favorite become rising stars or fallen off the charts? Do you agree with my assessment about why the languages have risen or fallen? Did any of the results surprise you? Let us know in the comments below.
You can follow my day-to-day project updates on social media. Be sure to subscribe to my weekly update newsletter, and follow me on Twitter/X at @DavidGewirtz, on Facebook at Facebook.com/DavidGewirtz, on Instagram at Instagram.com/DavidGewirtz, and on YouTube at YouTube.com/DavidGewirtzTV.