It's a new year in a world that's moving faster than ever. This means it's important to keep up to date on technology, and young people who would have not been programmers before need to learn to code. There are various lists of programming languages by popularity of demand but they are too broad to read at face value. I've seen many people fail to learn a programming language when they had nothing to apply it to and were simply learning how a language works. It's a bit like learning a foreign language by reading a dictionary. The following list are my choices (not necessarily in order) for what languages you should decide to learn if you don't know one already.
Python is an easy to learn yet popular and versatile language. It is now the #1 programming language taught in computer science programs at US universities and around the world, replacing Java for that position. This should lead to an increase in Python used in the software industry in coming years, after these students graduate and are in a position to choose what programming language they use at their companies.
Python can be used for servers / daemons, web site backends, and for lots of scientific domains: data science, bioinformatics - see Rosalind, natural language processing - see NLTK, machine learning - see scikit-learn. Python is a language that is usable by non-programmas as well as loved by programmers. Unlike other programming language specialized for scientists like R, Python can do that and also anything else. But its popularity within certain scientific domains means its the language with libraries for all kinds of non-web and non-mobile things.
There are also a number of web frameworks (and web servers - setting itself apart from PHP) written with Python but Django is the current winner, with the most community support (although not quite as monopolized as Ruby on Rails). However, the community of web developers using Python is still much smaller than PHP and as a portion of the overall Python dev community, web developers are a small portion of it compared to Ruby. Python lacks a strong CMS or content management framework like Drupal in PHP. While web might not be the strongest reason for choosing Python, it helps that Python is such an easy language to learn.
Did I mention that devops tool Ansible is written in Python?
3. Java / JVM
But Sun did manage to create a language which was able to take the zeitgeist at a time when C++ was the only language really dominating software development, in a world where smartphones and web browsers weren't yet platforms worth considering.
Nowadays, developers don't write Java to run inside little browser applets, nor on Nokia phones. But Java is the only language for writing Android apps (actually, it's a Java-like language using Android APIs instead of Java APIs, and running on the Android or Dalvik runtime instead of the JVM). And it's a common language for businesses creating software for themselves, as well as for some large open source server software. There are also a number of web frameworks for creating websites in Java. So Java can be used for desktop, server, web, and mobile apps - but not iOS.
But the real strength of Java might just be in the object of Sun's original marketing hype, which is the JVM. After years of improvement, this virtual execution layer which runs Java bytecode on a virtual CPU has become close to native execution performance. With this optimized virtual machine which can run a standardized bytecode, it then becomes a platform which compilers can target for languages other than Java. And so it becomes possible to "write Java code" without writing in Java. Groovy, a scripting language, which itself is a top trending language, removes much of the verbosity of Java, is one example. So is Scala and Clojure (functional programming languages). There's also JRuby and Jython which allow you to run Ruby and Python code on top of the JVM. While some of the mentioned languages are quite different from Java, they still integrate and call the Java APIs and are part of the Java ecosystem. So it's worth considering learning other languages but still taking advantage of Java as a platform.
PHP has a lot of haters. Language snobs love to dog on PHP due to its lack of features, inconsistencies, strange behavior, and often the users of PHP themselves. But it's a programming language that came up with the popularity of the web, and the web hasn't exactly slowed down. While people can still comment on the quality of the jobs or the projects nobody can deny the sheer quantity of both PHP developer jobs out there and the number of open source projects using PHP (WordPress, Drupal, Magento, Laravel, etc.) and the popularity and usefulness of those projects. Americans might not see it as much but PHP is a global phenomenon. And businesses have no problems hiring PHP developers - they don't need to put themselves through bootcamps.
And the language itself is improving. It even supports object oriented programming now. It's also getting faster with each major version. It has the support of Facebook.
While nobody's seriously developing desktop or mobile apps in PHP, the web is a big enough domain for software and will continue to be in 2016. Learning WordPress, Drupal, Laravel, Magento, or a number of other PHP frameworks will still be valuable knowledge. PHP has a huge community and each of those projects have their own massive communities. There is simply a massive amount of useful and free web software written in PHP. One can complain about the quality of PHP users, especially the lowest common denominator.
5. C# / .NET (CLI / CLR)
There are only a handful of Internet giants who have the need or the muscle to either invent or foster development of top programming languages: Oracle (after acquiring Sun Microsystems and thus Java), Google (adopting Python and inventing Golang), Facebook (built on PHP and thus becoming a patron of PHP performance resulting in HHVM and the Hack language), Apple (Objective C via acquisition of NeXT, now Swift), and Microsoft which, as the dominant PC platform of the past 3 decades as well as vendor of language compilers has too many to count - VB.NET, C#).
But the world has moved beyond the desktop (and Apple hopes this means we're out of the Windows-dominated world) and to the internet and into non-desktop devices connected to the internet (smartphones). We use compiled languages less and developers have more control over what environment their software runs in. Developers are choosing open source tools and languages.
Still, Windows maintains a huge share in the corporate, gaming, and desktop world. And while all of those computers connect to the Web and use web apps (which are developed outside of the Microsoft/Windows ecosystem and whose developers often find it difficult or daunting to develop for Windows after making web/mobile apps), there's still a large demand for "native" Windows software, so demand for .NET and C# in particular isn't going away, just becoming a smaller share of the programming pie.
What about Ruby? Ruby on Rails is a popular web framework. It's a top choice for web developer bootcamps. This is going to lead to an increase in the supply of new Ruby developers in 2016.
What about C/C++ ? There's a lot of systems code (Unix, Linux) written in C and a lot of pre-web software written in C++. Google hopes to replace C with Golang for systems programming and that language is trending up. C++ shares market with Java and C# as well as Objective-C and Swift and all but Objective-C are going to trend up in 2016 instead of C++.