[Editor’s note: This story, originally published on February 1st of this year, was our #8 most popular story of the year. Happy holidays, and thank you for tuning into our 2018 countdown!]

Software development is a dynamic field. New programming languages, frameworks, and technologies can emerge, become popular, and then fade away in the course of a few years. Developers need to constantly be learning new skills to stay relevant. At Coding Dojo, we’re continually evaluating which programming languages are in high demand from employers so we can prepare our students to enter the job market. There are many ways to measure a programming language’s popularity, but we believe examining job demand is most useful because it shows developers how to improve their career prospects.

To accomplish that, we analyzed data from job website Indeed.com on 25 programming languages, stacks, and frameworks to determine the top seven most in-demand coding languages as we move into 2018. This analysis is based on the number of job postings for each language. Some languages like Swift and Ruby didn’t make the top seven because they have lower job demand, even though developers love them. You can read the results of similar analysis from 2016 and 2017 on our blog.

Here’s our list, in order from most to least in-demand.

1) Java
Java decreased in popularity by about 6,000 job postings in 2018 compared to 2017, but is still extremely well-established. Java is over 20 years old, used by millions of developers and billions of devices worldwide, and able to run on any hardware and operating system through the Java Virtual Machine. All Android apps are based on Java and 90 percent of Fortune 500 companies use Java as a server-side language for back-end development. Java Enterprise Edition 8 and Java 9 both launched in September 2017 as the Eclipse Foundation took over managing Java EE from Oracle.

2) Python
Python grew in popularity by about 5,000 job postings during 2017. It is a general-purpose programming language used for web development and as a support language for software developers. It’s also widely used in scientific computing, data mining, and machine learning. The continued growth and demand for machine-learning developers may be driving the popularity of Python.

3) JavaScript
JavaScript, the grandfather of programming languages, is roughly as popular today as it was in our last blog post. That’s no surprise to us. JavaScript is used by more than 80 percent of developers and by 95 percent of all websites for any dynamic logic on their pages. Several front-end frameworks for JavaScript such as React and AngularJS have huge future potential as IoT and mobile devices become more popular, so we doubt we’ll see JavaScript drop in popularity anytime soon.

4) C++
C++ changed very little in popularity from early 2017 to now. An extension of the old-school “C” programming language, C++ is usually used for system/application software, game development, drivers, client-server applications, and embedded firmware. Many programmers find C++ complex and more difficult to learn and use than languages like Python or JavaScript, but it remains in use in many legacy systems at large enterprises.

5) C#
C# (pronounced “C sharp”) went down slightly in demand this year. C# is an object-oriented programming language from Microsoft designed to run on Microsoft’s .NET platform and to make development quicker and easier than Microsoft’s previous languages. C# 7.2 came out in November, adding several new features geared toward avoiding unnecessary copying. C#, like C++, is heavily used in video game development, so any aspiring video-game developers would do well to learn both of them.

6) PHP
PHP, a scripting language used on the server side, moved up from number nine in last year’s list. Most developers use PHP for web development, either to add functions that HTML can’t handle or to interact with MySQL databases.

7) Perl
Perl dropped by about 3,000 job postings and stayed in seventh place in our analysis. Perl 5 and Perl 6 are both chugging along and Perl continues to be popular for system and network administrators and as a glue language.

Up-and-comers
These are the languages that haven’t made it onto our top seven yet, but grew in use and popularity in 2017. Keep an eye out for them in the future!

Swift: Swift, the programming language for iOS and macOS that Apple released in 2014, came in at number 14 on our list. This may be partially because many job posting ask for iOS experience without naming specific languages. Swift has been growing steadily in popularity since it launched, according to IEEE Spectrum and Stackify.
R: R came in at number 11 on our list, but we expect we’ll see it climb in our ranking in the next few years. It’s rising in popularity in both international and U.S. search rankings and was the “least disliked” language on a Stack Overflow survey last year. Its growth may be due to the growth of big-data analysis jobs.
Rust: Although Rust ranks low on our list, it has been steadily growing in popularity, according to Google Trends data.

Other technologies developers should know
These software frameworks or technologies aren’t technically programming languages but are still important for developers to know in 2018 and are commonly advertised technical skills for developers found on Indeed.

SQL: SQL is the standard query language for storing, retrieving, and manipulating data in databases. It’s not technically a programming language since it lacks looping and other basic functions, but extensions like PL/SQL have added some of these. SQL is in extremely high job demand, with 30,000 more job postings mentioning it than our top programming language, Java. If you have time to learn only one new technology in 2018, this is the one to pick.
.NET: .NET is Microsoft’s platform for desktop, web, mobile, gaming, and IoT app development. It was made open source in 2016 and is used by the C#, Visual Basic, and F# programming languages. .NET Core, a cross platform .NET implementation, extends .NET to iOS, Linux, and Android. Many Windows applications run on .NET, making it extremely prevalent in the business world and we expect it to become more popular now that it’s become open source.
Node.js: Node.js is an open-source run-time environment that allows JavaScript code to be run on the server side, allowing web developers to use one language for an entire web application. Node.js was the 12th most-popular technology in our analysis, not good enough to make the list but enough to show a solid demand for these skills. We recommend that any JavaScript developers spend some time with Node.js to make themselves more well-rounded, even if they focus on the client side.
MEAN: The MEAN stack (MongoDB, ExpressJS, AngularJS, and Node.js) ranked 18th in our analysis. Using the MEAN stack allows you to create an entire application using JavaScript, which is simple, quick, and highly versatile. Learning MEAN will give any developer a strong background in one of the most common and active programming languages in the world.

This article originally appeared on the Coding Dojo blog.

About the Author:

Speros Misirlakis is head of curriculum at Coding Dojo.


Add your opinion to the discussion.