Do not pass Go, do not collect garbage
The Python programming language continues to find more fans, having tied Java as the second most popular programming language, according to analysis conducted by IT consultancy Redmonk.
Redmonk's biannual survey of programming language popularity makes no pretense at being a definitive ranking of worldwide popularity or overall industry usage. It's simply a measurement of available data that provides a sense of language trends.
Code communities that exist outside of StackOverflow, such as Mathematica, the consultancy notes, may be underrepresented.
With caveats about the statistical limitations of the survey in mind (and forbearance with regard to the non-sequential ranking scheme adopted by Redmonk), the latest iteration of the top 20 list reads as follows, with duplicate numbers representing parity in popularity:
- 2 Python
- 2 Java
- 4 PHP
- 5 C#
- 6 C++
- 7 Ruby
- 7 CSS
- 9 TypeScript
- 9 C
- 11 Swift
- 12 Objective-C
- 13 Scala
- 13 R
- 15 Go
- 15 Shell
- 17 PowerShell
- 18 Perl
- 19 Kotlin
- 20 Haskell
Python has seen its popularity grow thanks to its accessibility and its utility for scientific and AI-oriented programming. A survey by GitHub offered similar results back in November, which isn't surprising given the presumed data set overlap.
R, Python's nerdier data-focused rival, also made a strong showing, rising two places in the ranking. O'Grady argues that given its specialized nature, R's popularity has probably hit its ceiling.
Go managed to improve its position, but O'Grady suggests the Google-backed language has hovered in the mod-teen ranks for several years and like R appears unlikely to change much in the near-term.
Rust in peace
Rust, also oriented toward systems programming, has a reputation for being more difficult to learn than Go. Though it offers stronger protections against certain kinds of errors due to its unique design, its popularity, at least by Redmonk's measure, has remained flat.
Looking ahead a few years, Rust could make some gains if the programming language preferences of the Google team developing Fuchsia, the company's nascent multi-device operating system, resonate with the broader developer community. Rust has been approved for developers working on Fuchsia's Zircon kernel while Go has been rejected for anything except the operating system's Go-based netstack (and the hope is to get rid of Go there too).
For the Fuchsia team, Go, a garbage-collected language, just doesn't meet their performance requirements.
"The Fuchsia Platform Source Tree has had negative implementation experience using Go," the Fuchsia devs explain in their language policy. "The system components the Fuchsia project has built in Go have used more memory and kernel resources than their counterparts (or replacements) the Fuchsia project has built using C++ or Rust."
Given that Dart is one of the approved languages for Fuchsia app development, it could become more popular still if and when Google releases a stable, consumer-oriented version of the operating system.
That's expected to happen within three years. Last year, Google hired Apple engineer Bill Stevenson to help launch Fuchsia. Currently, the operating system can be installed on a 64-bit Intel machine with at least 8GB of RAM, though it's in an unfinished state. ®