Here are the best programming languages to learn in 2018

Alexander Petkov
We’ve moved to freeCodeCamp.org/news
10 min readJan 16, 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:

  1. High salary
  2. Popularity — plenty of job openings, variety
  3. Tendency to become more in-demand in the future
  4. Preferably easy to learn and pleasant to work with

For each language outlined in the list, you’ll see:

  1. A brief intro to get you familiar with the language, what types of career options it can offer, and what’s cool about it
  2. Language popularity diagrams according to TIOBE and GitHub Octoverse
  3. Salary comparison based on data from Indeed.com and StackOverflow’s 2017 survey
  4. The tendency in demand for the last five years according to Google Trends
  5. 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.

1. JavaScript

JavaScript is the most popular language according to StackOverflow’s annual survey, with 62.5% of respondents claiming to use it.

It’s undoubtedly the dominant language of the web and the growth of JavaScript over the past decade has been immense. Why? Just look around and count how many web-enabled devices you can see. Stack Overflow’s co-founder and popular programming figure Jeff Atwood famously said:

Any application that can be written in JavaScript will eventually be written in JavaScript.

Having that in mind, it’s safe to say there will be no shortage of JavaScript opportunities in 2018 and beyond.

JavaScript knowledge feeds into plenty of front-end frameworks such as Angular, React, Ember, Backbone, and others, as well as the Node.js run-time environment, which allows you to run JavaScript on the backend with high efficiency.

Three of the top four most popular frameworks for 2017 according to StackOverflow are JavaScript-based.

If you enjoy immediately seeing the results of your work in action, for example making interactive web components, JavaScript is a good idea for you. Have in mind that a career in JavaScript implicitly means you should also be comfortable with HTML and CSS, which is basically what web pages are made of.

Tools like Apache Cordova or React Native allow using JavaScript for mobile applications. It’s even possible to get into game development or desktop app development with projects like Electron.

Let’s see the stats behind JavaScript being the #1 pick:

JavaScript stats

JavaScript tendency in popularity for the past 5 years: Steady increase

JavaScript example code snippet:

2. Swift

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.

Swift is generally favored by developers, standing at #4 in the list of most loved languages for 2017, after being #1 in 2015. Should you pick up a career with Swift, chances are you would enjoy it.

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:

3. Python

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:

4. Java

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:

5. C++

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:

6. Ruby

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:

7. Rust

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.

Rust is a compiled language which is often compared to C both in terms of use cases and performance. The main difference is that Rust is memory safe. One of the most common faults you could find in C code are dangling pointers, buffer overflows, or any other kind of memory errors. Rust is created with the purpose of avoiding those — the language literally makes it impossible for you to make such errors as they are caught during compilation (before the code was ever run).

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:

8. Elixir

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:

9. Scala

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:

10. R

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.

If you have any questions about a future career as a software developer, make use of our free featured material or contact us further for a professional opinion.

What’s next?

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.

Did you like the read? Medium doesn’t offer partner program in my country―so I ask people to buy me coffee instead.

--

--