Many popular sites publish analysis and statistics about which languages are popular and what are the trends at the moment :
- StackOverFlow Developer Survey Results 2017 - Each year since 2011, Stack Overflow has asked developers about their favorite technologies, coding habits, and work preferences, as well as how they learn, share, and level up. This year represents the largest group of respondents in our history: 64,000 developers took our annual survey in January.
- PYPL - PopularitY of Programming Language - analyzing how often language tutorials are searched on Google.
- TIOBE - Index for August 2017 - The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. Popular search engines such as Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube and Baidu are used to calculate the ratings. It is important to note that the TIOBE index is not about the best programming language or the language in which most lines of code have been written.
- Trendy Skills - Extracting Skills that employers seek in the IT industry
- JetBrains -The State of Developer Ecosystem in 2017
- Google Trends
Please have in mind that: best language, most popular language, most paid, most searched, etc are different categories and it's not easy to say which one is number one without saying the context. Also it is good to say that some languages could be used as primary language and other as support one. Another important note is that definition of programing language is still debatable - HTML is the apple of discord - is it a programming language or not.
From my personal experience and after speaking with many experts, trend for 2017 is:
Java - most used
If there is a common in all list and indexes is Java. It's a great choice to start with and it's background is very strong - more than 15 years of top languages. It’s said to be used on 15 billion devices and millions developers work with Java! It's suitable for Android apps, games, desktop software and web development. It's multi-platform so it's working on the all operating systems and most platforms.
The big rivals of Java are: C#, C, Python.
Java 9 is launching on 21 September 2017 so definitely check it out when it’s ready.
Python is said to be perfect for beginners in programming. Many universities use it as starting language. Python is an object-orientated language that has concise syntax which makes it a great language for beginners as well as pros. It has two major versions Python 2 and Python 3 - for new programmers is recommended to start with python 3 since it will be the only one in the future.
It's popularity is growing recently because of the artificial intelligence and machine learning. Many frameworks use python : TensorFlow, Theano, scikit-learn.
Python 3.6 was released in December 2016 with some awesome features.
The big rivals of Java are: Go, Scala, Java.
Go (or GOLANG) - most promising
Go is created by Google and recently start to grow in popularity. It has an excellent standard libraries and it has good performance. It’s also great with parallel tasks and programs as well. It is said to be easy, reliable and fast. It needs to proof that it's reliable in long term and that satisfy the developers requirements. Go can be used also for machine learning, it's compiling very fast and it supports concurrency at the language level.
Go 1.9 was released just today few hours ago.
- React JS - provides high performance client and server side rendering with a one-way flow for data binding.
- AngularJS - open source client-side web framework with the primary purpose of addressing single page application creation challenges .
- Java is still the most popular with huge demanding and good salaries
- Python will be best known for data science and machine learning.
- "New" languages like Go, Rust, Swift, Elixir will try to steal some market from the old ones like C, C++, C#, Java
- C# is with steady position
- Mobile development is reserved to Swift, Java
- Ruby, PHP will try to keep their position