by Alexander Petkov
Here are the best programming languages to learn in 2018
This is the definitive guide for anyone wanting to choose the right programming language career path in 2018.
And let me be clear about something:
This is not a “top hottest languages” post throwing around a bunch of names and buzzwords.
This is an objective and practical review of the current state, tendencies, and safe near-future predictions of the IT industry at the start of 2018.
It’s based on statistical data from various trusted sources and is the result of a two-week period of in-depth research.
The goal of this post is to help you make an informed decision about which languages the IT market is looking for in 2018. It’ll help you decide which niche is worth the time and effort to master, and which will help you start (or continue) a successful and profitable career as a software developer.
When trying to decide which programming language makes the best career path, developers typically look for these four traits:
- High salary
- Popularity — plenty of job openings, variety
- Tendency to become more in-demand in the future
- Preferably easy to learn and pleasant to work with
For each language outlined in the list, you’ll see:
- A brief intro to get you familiar with the language, what types of career options it can offer, and what’s cool about it
- Language popularity diagrams according to TIOBE and GitHub Octoverse
- Salary comparison based on data from Indeed.com and StackOverflow’s 2017 survey
- The tendency in demand for the last five years according to Google Trends
- A short example code snippet to give you a visual idea of the language’s syntax
At the end, I’ve included four lesser-known languages which gained rapid popularity in the past few years and are expected to be in very high demand for 2018.
Let’s dive right in with the number one pick.
Swift is a relatively new programming language released by Apple in 2014. This is a language for developing native iOS or macOS applications.
It is considered an improvement in terms of usability and performance compared to Objective-C — the language used for Apple’s iOS and macOS operating systems.
If you want to get into mobile development, you should definitely consider Swift as a high-paid career path. Generally, iOS apps have proven to be more profitable than Android apps.
Swift tendency in popularity for the past 5 years: Steep up
Swift example code snippet:
Python is a general purpose language which you can find almost anywhere today. You’ll find it in web applications, desktop apps, network servers, machine learning, media tools and more.
It’s used by big players like NASA or Google, where the Python creator Guido van Rossum was employed for about 8 years writing mostly…Python.
Python code is neat, readable, and well-structured. Proper indentation is not just for beauty here — it determines code execution.
Python-based web development frameworks like Django and Flask have been gaining more and more popularity. Also, the language is heavily equipped with quality machine learning and data analysis libraries like Scikit-learn and Pandas.
On the whole, career paths with Python are various and here to stay. It’s a good choice for beginner developers, as it’s high-level and easy to read and comprehend.
Python tendency in popularity for the past 5 years: Impressive
Python example code snippet:
Java is arguably the most popular programming language as 90% of the Fortune 500 companies heavily use it. Its famous slogan “write once, run anywhere” captures one of the keys that makes Java so valuable — its powerful Java Virtual Machine (JVM), which makes it cross-platform compatible.
Popular career paths with Java are backend developer, big data developer, embedded systems engineer, or Android developer. Although not the most “trendy” language at the moment, Java is so heavily used that we can pretty much guarantee it won’t go anywhere in the next decade and beyond.
Because of this, you can be confident that there are plenty of Java job positions both in your city and remotely, which can’t be said for some of the less popular languages on this list. Thus, if you are comfortable with Java, it’s only a matter of time before you’ll find the right place.
Java tendency in popularity for the past 5 years: Decrease
Java example code snippet:
C++ is a highly efficient and flexible language, first created back in 1985. It has remained in high demand due to its performance, reliability, and variety of contexts you can use it in.
Plenty of large systems have been created and maintained successfully using C++, including the likes of Microsoft, Oracle, PayPal, and Adobe.
A career with C++ typically involves developing desktop applications, especially for performance-intensive tasks. While rather complex, getting comfortable with C++ would give you a deeper understanding of how languages work, for example by giving facilities for low-level memory manipulation.
C++ tendency in popularity for the past 5 years: Ups and downs
C++ example code snippet:
Ruby is one of the most loved programming languages around. It’s designed to be friendly and easy to use by developers, as even its own tagline is “a programmer’s best friend.”
Ruby is a high-level language which aims to achieve a lot with few lines of clean, readable code. This sometimes takes significant effort “under the hood,” which makes Ruby relatively slower in terms of efficiency compared to other popular languages — but it definitely boosts your productivity.
Well-written Ruby code almost looks like sentences written in plain English. It’s a great choice for the first language to learn, as beginners typically pick it up fast and enjoy it along the way.
Ruby is mostly used for its most popular framework — Ruby on Rails. Ruby on Rails is a web framework which encapsulates all of Ruby’s ideas into a powerful tool for the web. The great productivity achieved with Rails makes it a common choice for startups who aim for a running start.
A career with Ruby on Rails is definitely a great choice as the framework is “optimized for programmer happiness” and is also well-paid. The only major drawback of picking up a career with Ruby is that the language is not quite as popular compared to the languages mentioned above. Thus, job openings with Ruby may be limited in some locations.
Ruby tendency in popularity for the past 5 years: Decrease
Ruby example code snippet:
Rust is sponsored by Mozilla and was voted most liked by developers for a second consecutive year in StackOverflow surveys. This is a relatively new language, first appearing in 2010, which already gained remarkable popularity and is expected to improve even more in the future.
For a beginner, Rust might be a bit of a struggle to pick up as it insists on various rules to achieve the memory safety. However, experienced developers love it, and it’s quite possible that in the next few years Rust will be in very high demand.
As far as salary is concerned, Rust is considered well-paid, ranking second worldwide in StackOverflow’s 2017 survey.
One more reason to choose Rust is that the language is being developed by a household name in IT, Mozilla.
Rust tendency in popularity for the past 5 years: Rising
Rust example code snippet:
Elixir is another new language, first appearing in 2011, that immediately gained popularity.
Elixir was inspired by Erlang, a language developed back in the 1980s by Ericsson and stands as arguably one of the best tools for heavy concurrency. Elixir’s author José Valim himself said that he liked everything about Erlang, but also saw room for improvement. The biggest drawback of Erlang for developers is the often quirky syntax and usability plus the lack of intuitive package management.
Thus, Elixir appears — combining aspects from Ruby, a highly developer-friendly language and ecosystem, with those from Erlang.
Elixir is mainly used for web development, and career options are typically well-paid but limited. The popularity of the language has been increasing year after year, so if your city has various IT companies around, Elixir developers may be highly sought after.
Salary-wise, Elixir is typically well-paid standing at third place worldwide in StackOverflow’s 2017 survey.
Elixir tendency in popularity for the past 5 years: Rising
Elixir example code snippet:
Scala stands for Scalable Language, and is one of the many attempts to “rewrite Java” while improving its drawbacks. Scala code is compiled to run on the Java Virtual Machine (JVM).
We can safely agree that Scala is already a success given the fact that big companies like LinkedIn, Twitter, and The Guardian use it in their codebases.
Scala has the reputation of being a complex language to learn for a junior developer. But those who make it past the learning curve probably enjoy a great career as open positions for Scala developers are definitely popping up more and more.
Scala ranks high in salary surveys, making the top ten worldwide and sharing first place in the US according to StackOverflow’s 2017 report.
Scala tendency in popularity for the past 5 years: Rising
Scala example code snippet:
R is a programming language and environment used for statistics, graphic representation and data analysis. This is the #1 choice for data scientists. If you find yourself interested in this field, then R is a stable and profitable career choice for you.
R tendency in popularity for the past 5 years: Steady rise
R example code snippet:
That concludes the list of the top ten programming languages you should consider learning in 2018.
If you are looking for free courses to try out any of the above-mentioned languages, you can check out our advice on choosing from the best tutorials or even having a dedicated website browse tutorials for you.
Choosing the right language career path is great — but usually problems start when trying to get “good enough” and get hired.
Next, I’ll focus on the results of my research on why many developers give up before ever getting a job. The main reason is actually quite simple.