A Simple Answer Is Not Always Best

in

On New Year’s eve, Dámasa asked me to calculate some fraction of a fraction and provide the answer as a fraction in eighths. The post had just arrived so I flipped over an envelope and started working it out.

“Why do you need the answer in eighths?” I asked.

“Because I’m trying to convert a recipe and my scales only go down to eighths of an ounce.”

“Why don’t you just use grams?”

“…”

This little episode reminded me of an article by Alex Papadimoulis where he used the analogy of being asked whether it was better to use a bottle or a shoe to pound a nail. Although there are situations where either could be used, the real answer is, of course, to use a hammer. Sometimes we are asked questions to which we can provide an answer; but perhaps we should first stop and ask the reason for the question before answering it.

Let’s take Stack Overflow as an example. The programmer’s question and answer site that is also a game. ‘Good’ behaviour, such as asking good questions, providing helpful answers, are rewarded by upvotes, ‘bad’ behaviour; lazy questions, incorrect answers, are discouraged by downvotes. It is becoming increasingly common to find a Stack Overflow link as the top hit when searching the web for answers to programming questions. But, if you follow a mailing list for your chosen speciality it isn’t hard to see the same question in both places and different approaches to answering them.

Stack Overflow’s recommended approach to help vampires is a pragmatic one. Essentially, you can either be aloof and use the tools of the site to discourage the behaviour; or you could just answer the question and get some points. On a mailing list like, say, CocoaDev, a weak question will get sharp answers (if any); but on Stack Overflow, somebody might just answer the question because they get something out of it.

This might be useful to somebody. I’m sure there are times where we all just need a quick answer to question without deeper knowledge. Get help with the ‘how’ to get something done, and pick up on the ‘why’ later. But read enough questions in public forums and you’ll soon recognise those who just want to know the ‘how’, and no amount of saying they need to learn the basics is going to help. Maybe back up and ask why they are asking so you can better answer their question.

To tie this back to fractions, have a look at this Republic of Math post about the difference between relational and instrumental understanding in mathematics. A particular example is how the invert and multiply method of fractional division is widely taught without actually developing an understanding of the operation itself. When I was 14 my elder brother taught me differentiation. Not by saying “subtract one from the exponent and multiply”, but rather by drawing a curve and working through calculating a tangent using deltas and differences tending to zero and how it led to the simpler method. I’ve long forgotten the hard way, but after that I was very good at calculus.

Perhaps this is something to think about next time you see somebody ask how to write an application without using Interface Builder.