The long-term popularity of various programming languages is a key concern for developers and engineers. If you spend the time and resources to master a new language, you want it to remain well-used (and lucrative) for as long as possible. While some languages seem to remain popular for decades, others fail to endure.
With that in mind, it’s always worth looking at the latest updates to analyst firm RedMonk’s long-term language breakdown. In order to analyze how language usage rises or dips over several years, RedMonk turns to data from GitHub pull requests and Stack Overflow discussion. “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,” is how the firm describes its methodology. GitHub is used to measure the amount of code generated via a particular language, while Stack Overflow is used to determine “chatter” or “buzz” around a language.
Through January 2021, it’s clear that many languages’ long-term trends are remarkably stable; the most popular ones, including JavaScript, Python, and Java, have barely budged since 2012, although Python has made small but notable gains during that time. Employers have an incredible hunger for technologists skilled in these languages, both to build new applications and maintain mountains of legacy code—according to Burning Glass, which collects and analyzes millions of job postings from across the country, the top programming languages of 2020 (by job postings) included SQL, Java, Python, and JavaScript.
As with most programming-language rankings, the bulk of the action takes place among the smaller languages. For example, TypeScript, technically a superset of the ultra-popular and well-established JavaScript, has enjoyed increasing popularity over the past few years. Kotlin is on the rise, as is Rust and Swift, but some older languages such as Objective-C and Perl continue their decline.
If you take RedMonk’s data at face value, there’s one big takeaway for developers: Languages don’t rise or fall very quickly, and even if a particular language is on the descent, it may take years for its usage to bottom out. A prime example of this is Objective-C, the decades-old language for Apple software ecosystem development that Apple has been trying to replace with Swift. Although Swift has become more fully featured in recent years, Objective-C maintains a relatively robust presence because of the need to maintain legacy code (and because some developers are used to relying on it).
In other words, you can feel safe learning an older language such as Python or JavaScript today, because it’s not going anywhere soon. Newer languages such as Kotlin attract a lot of buzz, but it might take years for them to become as ubiquitous.