There's more than one way to write a smart question

29 Jan 2026

I read Eric Steven Raymond’s essay How To Ask Questions The Smart Way. Then I looked up the top rated questions on StackOverflow. And I realized one of two things must be true: either what is considered a smart question has changed in the last two years, or there is more than one way to ask a smart question.

The top rated question on StackOverflow about generics does not follow Raymond’s guide to asking a good question. It rather straightforwardly asks what the difference is between interfaces and types in typescript. The question asker does not state that they’ve read the manual or that they have googled the answer, and yet nobody in the comments is raging at them to read the f*cking manual or search the f*cking web. At least, not in the top rated replies. It is the top answerer, not the asker that notes the official documentation is outdated.

Raymond demands of readers who find his tone “obnoxious, condescending, or arrogant,” to “check your assumptions.” Unfortunately for him, I do feel the need to point out the hypocracy there, as his tone in his introduction comes across as accusing the reader. Luckily, the more civil tone his instructions take is the tone most of those that answer questions on StackOverflow seem to take. Irony of his article telling readers that civility can only help after calling a large chunk of them idiots and losers asside, the advise is actually useful… When it actually applies that is.

When I say this, I don’t mean portions talking about sending things in private forums or mailing lists, of course posts on public forums would not apply all the rules needed for asking a question elsewhere. An example of what I mean instead would be the section to use specific subject headers. Of course for hardware issues, this still will apply, however most issues posted on StackOverflow these days, I believe, are about programming, where the specs of your mouse need not apply.

There are still some equivalents that will apply sometimes. I once had a project I was working on for a class that required using specificly version 3.9 of Python. Older versions were too old to run one of the libraries, and newer versions too young to run others. Had I gone to StackOverflow to ask about this issue instead of finding my solution on google, I suspect any would be answerers would have very much liked to know what version of Python I was running. However, I still doubt they would have called me a loser.

An example of a more applicable problem would be one I found while sorting by highest scored questions for typescript asked in the last week about getting a generic sorting function to work This question does follow a lot of the recomendations: it is written in proper english, describes the asker’s goals, explains the specific problem blocking the user. However some of the other parts are not there, like stating what the user did, if anything, to find a solution elsewhere (google), and the answer is rather verbose (though whether it is overly so would really be a matter of personal judgement). However, I do not think there is any actual flaw in the way the question was asked. Part of it is, I believe that social customs around questions in open forms has changed since 2014 when Raymond’s article was last update, and certainly since 2004 when it was first published. After all, other social customs have also changed, such as no longer refering to all programmers as hackers. But it also is the truth that there simple is just more that one way to ask a smart question.