If you’re relatively new to programming, deciding on a language to learn can quickly become a stressful endeavor. Should you focus your valuable learning time on ultra-popular languages such as Python or Java, or devote more effort to up-and-coming languages such as Swift or Kotlin?
Such decisions can impact your career. While the most popular and well-used languages aren’t likely to fade away for decades yet, there’s always the risk that more specialized languages won’t translate into bountiful job opportunities down the road. You also need to evaluate how a particular language fits into your career goals—if you’re curious about data science, for example, you should determine how much time to devote to learning niche languages such as R (which is seeing at least some of its market-share cannibalized by Python).
If you’re curious about the popularity of various programming languages, it pays to check out the TIOBE Index. To determine its rankings, TIOBE leverages data from a variety of aggregators and search engines, including Google, Wikipedia, YouTube, and Amazon. For a language to rank, it must be Turing complete, have its own Wikipedia entry, and earn more than 5,000 hits for +”<language> programming” on Google. That methodology has obviously sparked complaints that TIOBE isn’t a scientific measure of languages’ respective popularity; nonetheless, it’s a solid indicator of how they're trending.
As you can see from this month’s TIOBE update, the most popular languages (Python, C, Java, C++) are firmly seated in their positions, while Go and Swift are among the up-and-comers to keep an eye on. If you’re interested in building apps for iOS, macOS, and whatever else Apple might roll out over the next year or two, it’s worth taking the time to learn the nuances of Swift—including arrays, sets, strings, structs and classes, functions, and more. (Swift Playgrounds is a good place to start for many budding technologists, because it makes learning the language into a fun activity.)
Like other new languages, Go is meant to overcome some of the deficiencies of its forebearers. It has the runtime efficiency of C++ and the readability of Python or JavaScript, which a key reason why developers have claimed to love it so much. It’s integral to popular open-source applications such as Kubernetes, which could power its growth for years to come.
Whatever languages you decide to learn, mastery is key—if you list it on your application materials, chances are very good that recruiters and hiring managers will test your knowledge. It’s also a good idea to arrive to a job interview with examples of how you’ve used the language in the past.