Here are the results for stackoverflow’s 2018 yearly developer survey.

There is obviously a bias here for people who use stack overflow. But I find from my experience to be a pretty accurate assessment of the ecosystem as of right now…

best programming language

best programming language to learn in 2018

Whether you’re a computer science student, software engineer or just a computer enthusiast, you will be faced with the common dilemma of choosing which programming language to learn first.

There are several causes for this dilemma, but in most cases, people find themselves torn between two choices; whether to choose passion over money or money over passion.

If your motive is money-driven, I would suggest you go with the market forces of supply and demand. If your motives are purely passion-driven then choose any language that pleases you.

And since most people tend to be driven by the money motive when choosing their career path these days, I suggest you should learn a programming language based on market forces of supply and demand and economic indicators.

There are many resources to get economic indicators; to help you choose any undertaking or career path, including programming languages. You want to choose a career path that gives you the greatest advantage in the market. Top most in-demand programming languages based on job openings as at December 2017

TOP 10 ranking of projected earnings in 2017 by programming language: Top programming languages by most pull requests for 2017

Another good indicator is the TIOBE Programming Community index. This indicator calculates the popularity of programming languages based on the number of skilled engineers world-wide, courses and third party vendors. The index uses popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu to calculate the ratings. The index is updated monthly.

Source: TIOBE – The Software Quality Company

Based on a combination of demand/supply, popularity and pull requests you could start by learning Java, followed by Python, C# and JavaScript in that order. You could then graduate to other more difficult languages such as C/C++, Go, Swift, PHP etc., in no particular order.

1. Java

Invented by James Gosling Jr. in 1995. Java is a general-purpose computer programming language that is concurrent, class-based, object-oriented, and specifically designed to have as few implementation dependencies as possible. The Java design philosophy is intended to let application developers “write once, run anywhere” (WORA), meaning that compiled Java code can run on all platforms that support Java without the need for recompilation.

Java is recommended as the first language for teaching or learning Object-Oriented Programming.

Java is currently the No #1 most popular programming language on the TIOBE Index.

2. Python

Python is a powerful, high-level programming language that supports multiple paradigms such as object-oriented, imperative, functional and procedural programming.

Python is suitable for building web applications, games development, Data Science, AI and Machine Learning. Some large companies using Python include: Google (YouTube), Facebook (Tornado), Dropbox, Yahoo, NASA, IBM, Mozilla and Quora.

Python is easy to learn and is recommended by many universities for teaching programming as the first language.

Python is currently the 4th most popular programming language on the TIOBE Index.

3. C#

Pronounced as “C-Sharp”, C# is a general-purpose, type-safe, object-oriented programming language developed at Microsoft in 2001. The goal of the language is programmer productivity. To this end, the language balances simplicity, expressiveness, and performance. The chief architect of the language since its first version is Anders Hejlsberg (creator of Turbo Pascal and architect of Delphi).

The C# language is platform-neutral, but it was written to work well with the Microsoft .NET Framework.

C# is currently the 5th most popular programming language on the TIOBE Index.

4. JavaScript

Alongside HTML and CSS, JavaScript is one of the three core technologies of World Wide Web content engineering. Traditionally, JavaScript is used to make webpages interactive and provide online programs, including video games on the front-end. The standard JavaScript specification (ECMAScript 2017) is supported by almost all browsers.

JavaScript is gaining popularity with the introduction of Node.JS; a non-blocking open-source, cross-platform JavaScript run-time environment for executing server-side JavaScript code.

Node.js is built on chrome’s V8 JavaScript engine. V8 has ability to compile and execute JavaScript at lightning fast speed, because it compiles JavaScript into a native machine code, instead of interpreting it or executing it as bytecode.

JavaScript is currently the 8th most popular programming language on the TIOBE Index.