StackOverflow Sounds Pragmatically Postmodern
James Noble and Robert Biddle wrote Notes on Postmodern Programming in 2002, and I was reminded of it Wednesday. In section 13 they describe “A First Example of Scrap-Heap System Construction”.
The task is to instruct a computer to print a table of the first thousand prime numbers, 2 being considered the first prime number.
The solution? They goof off online, Google for “calculate prime numbers”, grab some random C library, copy-and-paste a program together, and minimally hand-test. The whole procedure is presented as a joke, but it’s grown less farcical over time. More and more people with “programmer” in their job title use Google and ctrl-c as a resource of first resort to lurch towards completion. Call it Scavenge-Driven Development. Scavenging code is like masturbation: it’s fine occasionally, and as long as it’s not your only way to get laid.
Jeff Atwood and Joel Spolsky have announced they’re creating a website called StackOverflow.com. As much as it’s described, Atwood describes it thusly:
Stackoverflow is sort of like the anti-experts-exchange (minus the nausea-inducing sleaze and quasi-legal search engine gaming) meets wikipedia meets programming reddit.
And Spolky says it’s setting out to solve the problem that:
Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number of working programmers.
Instead, they happily program away, using trial-and-error. When they can’t figure something out, they type a question into Google.
And sometimes, the first result looks like it’s going to have the answer to their exact question, and they are excited, until they click on the link, and discover that it’s a pay site, and the answer is cloaked or hidden or behind a pay-wall, and you have to buy a membership.
And you won’t even get an expert answer. You’ll get a bunch of responses typed by other programmers like you. Some of the responses will be wrong, some will be right, some may be out of date, and it’s hard to imagine that with the cooperative spirit of the internet this is the best thing we programmers have come up with.
I read that and instantly understood what they’re doing: they’re trying to streamline code scavenging. It’s not about idealistically popularizing the depths of computer science, it’s about pragmatically getting this next damn function to return the right values so you can go home.
Free to ask questions, free to answer questions, free to read, free to index, built with plain old HTML, no fake rot13 text on the home page, no scammy google-cloaking tactics, no salespeople, no JavaScript windows dropping down in front of the answer asking for $12.95 to go away.
And that’s cool. It may make it easier for the morons to cling their employment, but it’ll help out a lot of good people who need a hand. Idealism and pragmatism are not mortal foes battling to the death, they’re the indivisible foundation progress is built from. (Democratic Party primary to the contrary.) StackOverflow hauls up the banner for pragmatism, so what’s out there to idealistically advance the theory of programming? A Web 2.0 version of the c2 wiki? A marketing campaign to portray curling up with Knuth as hip?
If the goal of StackOverflow is really “collectively increasing the sum total of good programming knowledge in the world”, it will balance the humours: lure coders in with useful snippets while ensuring they learn something before they go.