
Stack Overflow
Stack Overflow is the best-known question-and-answer website for programmers, where millions of solutions to concrete programming problems have been collected since 2008. The same term also denotes, in computer science, a program error in which a particular area of memory overflows.
Stack Overflow is a website where people ask and answer questions about programming. Anyone who gets an error message while writing a program that they don’t understand looks there for an explanation. Other users have usually already had the same problem and written down a solution. The site has existed since 2008 and now contains well over 20 million answers. The name is an inside joke: “Stack Overflow” is also the name of a typical programming error that one has to avoid. Both meanings appear in news texts, and you have to distinguish them by context.
Why programmers can hardly work without this site
Programming largely consists of hunting for errors. Hardly anyone can keep all the commands and quirks of a programming language in their head. Instead of flipping through manuals, people copy the error message into a search engine. Very often the first hit lands on Stack Overflow. Over the years, the site has thus become the most important shared body of knowledge in the profession.
For today’s AI development, this matters for a second reason. Language models like ChatGPT learned to write program code partly from these questions and answers. The discussions contain not just finished code, but also justifications, criticism, and suggestions for improvement. This very interplay of problem and explanation is excellent learning material for a machine.
This has created a conflict. Since AI assistants started answering programming questions directly, the site’s visitor numbers have declined noticeably. Fewer visitors mean fewer new answers, and fewer new answers mean less fresh training material. Some call this the cycle that undermines its own source. Stack Overflow now sells licenses for its data to AI companies to earn money from it.
Points, votes, and the accepted answer
The site doesn’t work like a forum where people simply chat chronologically. Someone asks a question described as precisely as possible, others write answers underneath. All users can upvote or downvote questions and answers. Answers with many votes move to the top, bad ones move down. The person who asked the question can additionally mark an answer as solved, and it then receives a green checkmark.
Users collect points for good contributions, called “reputation” in the jargon. As the point count rises, one gets more rights: editing other people’s posts, writing comments, closing bad questions. The principle resembles a Wikipedia that promotes its contributors based on merit. It ensures high quality, but also makes the site unfriendly for beginners. Anyone who asks a question that is too vague or already answered often gets it closed without much politeness.
The error with the same name
The second meaning of the word concerns memory. When a program hands off a task to a subroutine, it notes on a stack where it needs to return to later. This stack is called the stack and has only limited space. If a part of a program calls itself endlessly, the stack grows until it hits the limit. Then the program crashes with the message “stack overflow”.
A picture for this: for every task you start, you place a note on a pile and only take it off again once the task is finished. If nothing is ever finished, the pile eventually topples over. This very error was the namesake for the website. In everyday life, the term today is mostly encountered as a link in the search results when googling a programming problem. In business news, on the other hand, it almost always refers to the company that was sold to the investor Prosus in 2021 for around 1.8 billion dollars.