A simple question with a complicated answer. It’s complicated because it depends, like so many things in life, on multiple variables. Are you a beginner or a pro? What types of projects do you work on, or want to work on? And what does the future hold?
If you’re a beginner, it makes sense to start with the basics—but on the other hand, a certain amount of specialization can set you apart from your competitors. Ultimately, the solution is to determine which languages are useful in your field, with the degree of specialization that’s right for you, and are growing in popularity rather than falling out of it.
To get a handle on these trends, Brainstation conducted a survey of the current digital landscape. Based on the answers from thousands of professional respondents (and a little digging of our own), we’ve put together an overview to help guide you toward the programming language you should begin learning now.
Room to Grow
If you’re a Developer, take comfort in the fact that you’re in a growth industry. The market for Web Developers is expected to grow by another 15 percent by 2026, according to the U.S. Bureau of Labor. Because of this rapid growth, the field has seen an influx of relatively new talent; 58 percent of our survey respondents said they’ve been working in development for five years or less.
Our survey also revealed that the more experience Developers have under their belt, the more likely they are to work in full-stack development, and the broader their range of specialties. The takeaway: for Developers to move forward in their careers, it’s crucial to continue learning new and more specialized languages—which, ironically, make them less specialized, and better able to collaborate with or manage teams working at more stages of a broader range of projects.
The Fundamentals
Another paradox: when it comes to programming languages, a small number of languages crop up almost everywhere—and yet the long tail of highly specialized and esoteric languages is just as important.
Asked which programming languages they use currently, respondents overwhelmingly pointed to JavaScript (80 percent), with SQL (47 percent), Python (35 percent), and Java (27 percent) rounding out the leaderboard. Consider these the basics: one or more of these is a virtual necessity in 2019, no matter what your area of expertise.
Respondents also identified JavaScript and Python as the most enjoyable languages to work in, which not only explains their popularity but also suggests that their popularity in the future is reasonably assured.
Most remarkable, even with a list of no less than 17 programming languages to choose from, 33 percent of respondents checked “Other”—making it the third most common response, and proving that while the industry may have its favorites, there’s still plenty of demand for more obscure languages.
On the Horizon
As new applications emerge, we should expect the list of most frequently used languages to change. Asked what will have the biggest effect on their industry over the next five to 10 years, a large majority of respondents (78 percent) chose artificial intelligence and its subset machine learning as the biggest opportunities for growth.
Other trends they’re anticipating: the Internet of things (54 percent), augmented reality (53 percent) and blockchain (41 percent). But while they’re anticipating these technologies will gain prominence, only a minority of developers have worked with them directly—83 percent of respondents have yet to work on AI platforms or blockchain tech, and 80 percent have no experience with IoT devices.
In fact, blockchain tech is still so new that intermediate-level respondents were more likely to have experience working with it than senior-level Developers—but this was still only one in four. These figures suggest that blockchain tech is an area beginners should brush up on to improve their chances of advancement—and Senior Developers should learn to ensure they stay relevant.
Next Steps
Given the “Big 5” areas where growth is expected to happen—AI and machine learning, IoT, AR, and blockchain—what languages should you learn? While the answer depends, to some extent, on which of these 5 areas you choose to focus on, the same three names came up again and again: C++, Java, and Python.
Within each of the aforementioned concentrations, more languages crop up in addition to these three. In Blockchain: Ruby and Solidity. In IoT: C, JavaScript, and PHP. In AI and machine learning: R, Lisp, and Prolog. And in AR: C#, JavaScript, and Swift. But in every case, C++, Java, and Python are among the leaders.
These are the languages people are using today to work in what they’ve identified as development’s most burgeoning fields. What about tomorrow? There’s no surefire way to predict the future, but we can look at which languages are growing in use the fastest. One way to do this is to compare search queries—a proxy for measuring which languages people are currently learning. Over at Github, a compilation of search queries suggests that the fastest-growing languages are relatively new—as you’d expect.
In 2018, Java-compatible Kotlin grew the fastest year-over-year, more than doubling. HashiCorp Configuration Language (HCL) for cloud infrastructure, the JavaScript superset language TypeScript, Microsoft’s automation framework PowerShell, and systems programming language Rust round out the top five.
But not far behind, in eighth position, is Python. Despite its popularity going into 2018, Python still managed to chalk up 50 percent year-over-year growth—the sign of a true juggernaut on the rise.