Main image of article Which Programming Languages Should Tech Pros Learn Long-Term?
Which programming languages should tech pros learn over the long term? That’s an interesting and vital question, considering how the popularity of a language can have a sizable effect on your career and salary. Analyst firm RedMonk recently visualized its programming-language rankings from 2012 through 2018, and concluded that certain languages remain remarkably stable over the long term. JavaScript, Java, Python, PHP, C#, C++, CSS, Ruby, and C have seen little shift in RedMonk’s rankings over the past six years; all remain top-rated, even as the technology industry undergoes seismic shifts on seemingly an annual basis. As you might expect, there’s far more turbulence on RedMonk’s list when it comes to specialized languages such as R, Go, Haskell, and Perl, where smaller developer communities can have an outsized effect on overall rankings; in these cases, it only takes adoption (or abandonment) by a few hundred or few thousand developers to send a language climbing or falling. In addition to languages such as JavaScript and Python that have a huge install base and long-term viability, developers and other tech pros should also pay attention to languages such as Swift that have massive corporate backing; over the past few years, Swift has seen its RedMonk ranking climb, thanks in large part to Apple pushing it hard as a replacement for Objective-C, the longtime language for building iOS and macOS apps. RedMonk’s methodology is pretty straightforward: it combines the language rankings from GitHub and Stack Overflow, with the output designed to reflect both code usage (from GitHub) and developer discussion (from Stack Overflow). “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,” the firm cautions in its note accompanying each ranking update. RedMonk’s rankings align closely with those of the TIOBE Index, which shows Java, C, C++, Python, and C# holding their top rankings for at least the past year. The TIOBE Index, also like RedMonk, shows considerably more ranking movement among smaller and more specialized languages; for example, R has fallen six spots (from 14th to 20th) in the past year. What does all this data mean for software pros? Learning the “big” languages such as Java, JavaScript, and C is always a good idea; thanks to the sheer level of legacy code involving those languages, it’s unlikely that they will fade anytime soon. And although you may need to learn a more specialized language such as Swift or R to perform your specific job, stay aware of rising languages in your segment; you never know when big companies will start favoring a newer, more refined platform over an aging option.