The relative popularity of programming languages is more than a beauty contest; knowing which languages are widely used can help you determine which ones to study and master. Nobody wants to learn a language that’s rapidly falling out of usage and discussion among technologists.
With all that in mind, it’s time for analyst firm RedMonk’s regularly updated ranking of the world’s most popular languages. Shocker of shockers, JavaScript is in the top slot, followed by Python, Java, PHP, and CSS; buzzed-about languages like Swift, Go, and Kotlin are further down. Here’s the full list:
1. JavaScript
2. Python
3. Java
4. PHP
5. CSS
5. C#
7. C++
8. TypeScript
9. Ruby
10. C
11. Swift
12. R
13. Objective-C
14. Shell
14. Scala
16. Go
17. PowerShell
18. Kotlin
19. Rust
19. Dart
There’s been precious little movement since RedMonk’s last update. “As movement within these rankings begins to lessen, however, it is interesting to consider whether we may be moving into an era of relative stasis,” added RedMonk’s note accompanying the data. “New languages will continue to emerge, of course, and some may rise due to the addition of new features or due to external factors… but as we look around the industry it may be that a certain equilibrium is in the process of forming. A state where languages have found their respective niches and a level with their particular competition.”
RedMonk’s methodology is interesting because it attempts to combine actual language usage with “buzz” (i.e., discussion). “We extract language rankings from GitHub and Stack Overflow, and combine them for a ranking that attempts to reflect both code (GitHub) and discussion (Stack Overflow) traction,” the firm states in its regular introduction to the rankings. “The idea is not to offer a statistically valid representation of current usage, but rather to correlate language discussion and usage in an effort to extract insights into potential future adoption trends.”
For technologists everywhere, the lack of aggressive movement in these rankings is fundamentally a good thing, because it means the programming languages you learn now will continue to be used well into the future. While you might have to periodically learn new features (always make sure to read the documentation related to new releases), you’ll always understand the language’s fundamentals. And mastering multiple programming languages will open up lots of opportunities—whether tomorrow or ten years from now.