At some point it strikes you. For some it happens early in Computer Science class after hearing a professor say it for the umpteenth time. For others it happens when hearing it come from their own mouths for the umpteenth time. The Universal Answer to any (and all) computer (science) question(s).
It’s not the Ultimate Answer (that’s “42”), but it is the Universal Answer. It’s kind of an old joke among long-time programmers. Sometimes you’ll even see us crack an unavoidable smile as we begin, “Well,… it depends…”
I suspect that computer science is not the only field where this Universal Answer applies. I imagine that any field complex enough has the same problem that most questions don’t have simple answers. And frequently context is important; the right answer in one context can be the wrong answer in another.
Sometimes, of course, the question is simple enough to generate a simple, direct answer. But it’s amazing how many questions depend:
- On exactly what you mean.
- On the context you mean.
- On your possible misunderstanding of the problem.
- On your possible mis-phrasing of the question.
Those last two require the answerer to correct the misapprehension or question before proceeding to the answer (which may be rendered moot by the correction).
The situation is perhaps amplified in the software world. Computer programming is one of those professions (and there are many) that requires total precision. The ideal computer programmer makes no mistakes. Neither does the idea airline pilot, surgeon or banker.
I would argue that computer programmers are presented with many more opportunities for error. Every line of code we write needs to be perfect, and there are thousands upon thousands of lines of code.
How many direct opportunities for error does an airplane pilot have? Or a surgeon or banker. While their errors can be more expensive or lethal, they generally have fewer opportunities to make them. (And make no mistake: programming errors have not only cost millions of dollars, but have cost lives! Consider the Theriac-25 accidents!)
Taxi drivers can ding fenders, bakers can use too much flour, writers can misspell or murder grammar, and many people these days almost seem to embrace error as a way of life. But computer programmers are a different breed; our profession requires a high degree of precision, and that often carries over into much that we do.
So it isn’t just that the field is complex enough to drive “it depends” answers. It’s that computer programmers are often such a precise breed that even, “How’s the weather?” might generate the Universal Answer: