Many people are curious to know what the most popular programming languages are in the sense that they are being actively used to write code. This is usually done annually. If look this up in your favorite search engine you will probably find many lists or charts. Among the most prestigious websites that produce charts of the most popular programming languages is IEEE Spectrum. Their list for 2016 can be found here.
While they use many sources to reasonably sort languages by popularity, the list of languages they show is not really meaningful. First, they show things that are obviously not programming languages such as Arduino and CUDA. In addition, HTML is not a programing language. Yes, it is a formal language used in computers but it is not really a programming language. For a language to qualify as a programming language, we should be able to write computer programs using it. More concretely, it can at least express arithmetic (in some numeral system for natural numbers). Finally, I don’t like that they combined all shell languages into a single item in the list.
I decided to make a list of the most popular programming languages in the easiest possible way, yet producing meaningful and reasonable results. I thought that we could use the number of questions for each programming languages in StackOverflow during the year 2016 as a metric for popularity. Of course, there are still five weeks to the end of 2016, but I don’t think that will change the results so I decided to do it now. To find the number of questions for each programming language, I used a search query of the form created:2016..2017 [name] where name is the tag of the programming language. The following chart shows the results normalized with respect to the most popular language.
Note that XML and JSON are general formal languages that can be used to describe data and code. For example, XSLT is an XML language that describes computation and is considered to be a programming language. Also note that CSS and HTML constitute together a single programming language because HTML describes objects while CSS describes computation. Finally, note that those languages whose normalized popularity is less than 1 are not shown.
Interestingly enough, the top six programming languages are far more popular than the rest. Also note that my list is very different than that of IEEE Spectrum.
Update: Official stats from StackOverflow can be found here.