Tracking Programming Language Popularity on Stack Overflow
The total number of questions asked show that there are three programming languages far ahead of others with respect to popularity: Java, JavaScript, and PHP.
Keywords
sql
, collector
, stack overflow
, json
Languages
Using Stack Exchange API to collect hourly data for the following programming languages, via the respective tags:
Query
The Stack Exchange API V2.2 allows anyone to track the number of questions asked and answered for a particular topic using tags.
The endpoint used to track programming language questions is: /tags/{tags}/info
This endpoint returns the total number of questions asked about a programming language tag. From the data, you can determine the number of new questions asked, the popularity of each language, and the growth in popularity for a particular language.
Request:
https://api.stackexchange.com/2.2/tags/java/info?site=stackoverflow
Response:
{
"items": [
{
"has_synonyms": true,
"is_moderator_only": false,
"is_required": false,
"count": 880312,
"name": "java"
}
],
"has_more": false,
"quota_max": 300,
"quota_remaining": 299
}
The retrieved data can also be found in the Stack Overflow user interface by searching for each language tag:
Tools
Axibase Collector is used to collect the data. A JSON job in Axibase Collector collects data for each of the programming language tags and stores it in the ATSD for analytics and visualization.
When viewing the portal, it is immediately noticeable that at some point in each day there is a negative change in question count. After some investigating, it seems that this negative change is due to the cleanup of invalid or closed questions.
Conclusion
This data is useful for many companies, programmers, and students. For example, at Axibase, we use the gathered information to help determine client library development prioritization.
The results also show the up-and-coming programming languages, which can be useful to students and programmers deciding what language specialization to pursue in their career or studies.
IDE vendors, like JetBrains or Eclipse, can find such data useful to see what new languages are gaining popularity and consider them for future products.
Authors covering programming languages can use this information when deciding what new languages to features in their works.