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…
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.
Indeed.com Top most in-demand programming languages based on job openings as at December 2017
TOP 10 ChallengeRocket.com ranking of projected earnings in 2017 by programming language:
GitHub.com 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
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.
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.
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.