PYPL PopularitY of Programming Language

The PYPL PopularitY of Programming Language Index is created by analyzing how often language tutorials are searched on Google.

The more a language tutorial is searched, the more popular the language is assumed to be. It is a leading indicator. The raw data comes from Google Trends.

If you believe in collective wisdom, the PYPL Popularity of Programming Language index can help you decide which language to study, or which one to use in a new software project.


compared to a year ago:





Loading...

This chart uses a logarithmic scale. It can show your favorite languages in a country





Kudos

The PYPL index has been cited in the following trade journals :



FAQ

The PYPL PopularitY of Programming Language Index is created by analyzing how often language tutorials are searched on Google : the more a language tutorial is searched, the more popular the language is assumed to be. It is a leading indicator. The raw data comes from Google Trends.

If you believe in collective wisdom, the PYPL Popularity of Programming Language index can help you decide which language to study, or which one to use in a new software project.

The TIOBE Index is a lagging indicator. It counts the number of web pages with the language name. Objective-c programming has over 20 million pages on the web, [s] while C programming has only 11 million. [s] This explains why Objective-C has a high TIOBE ranking. But who is reading those Objective-C web pages ? Hardly anyone, according to Google Trends data. Objective C programming is searched 30 times less than C programming. [s] In fact, the use of programming by the TIOBE index is misleading (see next question).

The following principles were used:

    • just the language name, e.g. Python, would lead to inconsistent results, because Python has many other meanings;
    • the same phrase should be used for all languages, for consistency.
    • programming would not do : C programming is used much more than PHP programming, because PHP does not need the qualifier
    • tutorial is a word used frequently by developers learning any new language : it makes a good leading indicator. What is a python tutorial, if not a tutorial on the programming language ?
    • ios tutorial is used instead of the (less popular) objective-c tutorial to better reflect what iPhone developers search. This is confirmed by an analysis of language tag followers on StackOverflow, or of the visits of the Wikipedia language pages [s] : they give a 4-5% popularity to Objective-C, which is highly consistent with our estimate. It may flatter objective-c's market share because it includes queries of iOS end users.

The index is currently limited to 15 languages. You can still analyze the popularity of your favorite language and compare it to others, using Google Trends.

We export the data from Google Trends in CSV format, [s] and analyze it with pyDatalog. We first calculate the interest of each language tutorials relative to java tutorials every month. Normalizing the total to 100% yields the share of interest in each language, i.e. their popularity, which we smooth over 6 months. Linear regression over the last 12 months gives the yearly trends.
That's because Google Trends diagrams show how the total number of Java tutorial searches varies over time. That has been going significantly down for most programming languages (and most keywords, by the way). Instead, PYPL's diagram shows the share of Java tutorial searches in all language tutorial searches. That share has been fairly stable for Java since 2004.
© Pierre Carbonnelle, 2016





.