The satirical news site The Allium recently reported that “the discipline of Computer Programming” would be officially renamed to “Googling Stack Overflow.” Like the best satire, the joke’s bite comes from its truth.
With 7.6 million visitors per day, Stack Overflow, a question and answer website for programmers, is the 57th most visited site on the internet—just ahead of Craigslist, ESPN and PornHub. It is a primary resource for both novice and expert coders, a refuge for the programming lost. Unsure how to complete a problem? Put it on Stack Overflow, and generally, it is solved within a half hour by other users (at no cost to you). But remember to write out the question clearly if you don’t want to be trolled.
Started in 2008 by well-known programming bloggers Jeff Atwood and Joel Spolsky, Stack Overflow quickly became the preeminent site for programmers to pose problems and help out their brethren. Today, Stack Overflow is not just a resource for people learning to code, but also useful for understanding what’s happening in the programming world. A world that is increasingly important but, for the outsider, seemingly impenetrable.
Curious about just what we could learn from Stack Overflow data, we analyzed the topics of the more than eleven million questions that have been asked on the site. We used this data to examine the most discussed topics in programming, and to discover which topics are trending up and which are losing steam.
***
At its inception, Jeff Atwood described Stack Overflow as a question and answer site “meets wikipedia meets programming reddit.” The website distinguished itself by registering all questions and answers under a Creative Commons license and not having membership fees (Experts-Exchange, a competitor, has members pay a monthly fee). The name “Stack Overflow”, a term in programming for an error that results when a program attempts to use more space than available in memory, was chosen by a poll on Atwood’s blog.
Over eleven million questions have been asked on Stack Overflow since 2008, with seventeen millions answers (only 27% of question remain unanswered; multiple answers may be given to the same question). The following chart shows the number of questions asked per month since Stack Overflow’s creation. Currently, there are about 400,000 questions per month. We collected the data for all of the following charts from the Stack Overflow “data explorer” (the original query was written by the user sam.saffron).
Dan Kopf, Priceonomics; Data: Stack Overflow
What do the nature of these questions tell us about the state of programming?
Whenever a question is posted on Stack Overflow, the user must “tag” the question with “a keyword or label” that categorizes the question. These tags help other programmers find the questions they might be able to help with. Users that are experts in Java look for questions with the tag “java.” Users answer questions both out of the goodness of their heart and for the glory of increasing their reputation score (more on this later).
There are over 400 tags on Stack Overflow with more than 10,000 questions. The tagsjavascript, java, c#, php, android and jquery are in a league of their own, all with over 675,000 questions. The tag for the programming language Python, at number seven, is just nearing 500,000.
Dan Kopf, Priceonomics; Data: Stack Overflow
The chart above shows the total number of questions for each tag since Stack Overflow’s beginning, but the programming world is fast moving. Stack Overflow tags allow us to track these changes.
The following chart displays the number of questions per month for the “big six” tags.
Dan Kopf, Priceonomics; Data: Stack Overflow
While the number of questions per month regarding javascript, a language for client-side web development, continues to grow almost linearly, the number of jquery questions, a module for javascript, is on the decline. These changes may be a reflection of the popularity of these tools, but could also just be a result of a change in the user makeup of Stack Overflow.
We were curious if we could use the number of questions with a certain tag to learn about what’s “hot” in the programming world. We identified which of the five hundred all-time most popular tags saw the most growth in questions per month from October 2014 to October 2015.
Dan Kopf, Priceonomics; Data: Stack Overflow
The tag android-studio has seen by far the largest growth of any major tag in the last year. Android-studio is an integrated development environment for development on the Android platform. There were only 383 questions regarding android-studio in October 2014, but 1,236 in October 2015.
Many of the other tags that have shown the most growth include those related to web/cloud development (api and amazon-web-services) and data analysis (pandas and charts). Surely, a sign of the times.
Which tags seem to be losing steam? Generally, the tags that decrease the most year on year are outdated versions of platforms like ios7 and windows-8. If we just include those that had one hundred questions in 2012-2015, we get a more interesting list.
Dan Kopf, Priceonomics; Data: Stack Overflow
While some of the tag topics in the chart above are on their way out (e.g. flash, silverlight and perhaps emacs), it’s important to note that tags losing steam on Stack Overflow is not necessarily indicative of people losing interest. It might just be that the questions regarding smaller topic areas get saturated and there are no more questions that need to be asked.
***
Stack Overflow owes it success to its mega users. A 2013 study found that only 8% of users have answered more than five questions (users are defined as the nearly five million people with a Stack Overflow account. Many people who have not signed up use the site). In fact, we found that in a one day period, 25% of all answers came from just 1,000 of Stack Overflow’s millions of users.
One of Stack Overflow’s features is the ability of users to gain “reputation” points by answering and asking questions. Users have reported feeling addicted to accumulating points and gaining the Stack Overflow awarded badges that come with those points.
The users who have answered the most questions, like Jon Skeet and T.J. Crowder, have become programming stars. Increased reputation allows for greater privileges on the site (e.g. the ability to edit questions and vote to close a question) and may also help a user obtain consulting work.
The following table shows the individuals with the highest all time reputation scores, along with the primary tag they answer questions about.
***
Although few would argue that Stack Overflow is not an incredible resource, some programmers have concerns. One, a number of users have expressed disappointment about the development of the community’s culture. They believe the community has become overly concerned with reputation points and has become a place where new users are treated with derision. The developer John Slegers writes at Medium that some high reputation users have become “overprivileged trolls.”
Others are worried about how Stack Overflow has impacted programming fundamentals. Some critics believe that rather than truly struggling with a problem, developers can now just ask Stack Overflow users to solve it for them. The questioner may receive and use an answer with code they do not truly understand; they just know it fixes their problem. This can lead to issues in the long run when adjustments are needed. Christian Heilmann, a self described “developer evangelist”, calls these cut and paste programmers “full stackoverflow developers” (for the uninitiated, this is a pun on the “full stack developer”).
Still, the site remains a central resource for much of the programming community. The programmer Jason Sachs has expressed his distress about some aspects of Stack Overflow’s development, but he still believes the site’s massive community of users, excellent user interface and fast answers make it a place you can often get “wonderful help.”
Even for this very article, Stack Overflow was consulted multiple times. In the process of collecting the data, creating the charts and understanding the community’s culture and direction, Stack Overflow question and answer threads were indispensable.
Our next post examines how much urine splashes back on you when you use a urinal. To get notified when we post it → join our email list.
This post was written by Dan Kopf; follow him on Twitter here.