Nick Mudge Ignition Software Consulting & Development

I love the introduction in the book Assembly Language Step-by-Step: Programming with Linux, entitled "Why Would You Want to Do That?".

From the introduction:

Note well: When somebody asks you, "Why would you want to do that?" what it really means is this: "You've asked me how to do something that is either impossible using the tools that I favor or completely outside my experience, but I don't want to lose face by admitting it. So... how 'bout those Black hawks?"

I heard it again and again over the years:

Q: How can I set up a C string so that I can read its length without scanning it?
A: Why would you want to do that?

Q: How can I write an assembly language subroutine callable from Turbo Pascal?
A: Why would you want to do that?

Q: How can I write Windows apps in assembly language?
A: Why would you want to do that?

The answer to the Infamous Question is always the same, and if the weasels ever ask it of you, snap back as quickly as possible, "Because I want to know how it works."

That is a completely sufficient answer. It's the answer I've used every single time, except for one occasion a considerable number of years ago, when I put forth that I wanted to write a book that taught people how to program in assembly language as their first experience in programming:

Q: Good grief, why would you want to do that?
A: Because it's the best way there is to build the skills required to understand how all the rest of the programming universe works.

And some just plain good commentary on programming:

Being a programmer is one thing above all else: it is understanding how things work. Learning to be a programmer, furthermore, is almost entirely a process of learning how things work. This can be done at various levels, depending on the tools you're using.

These are just tidbits but the introduction as a whole is great.

Comments

Josh
3 April 2010

Sometimes it means, "That sounds like a really bad idea - please re-think why you want to do that or what you think that will accomplish."
Andreas Krey
andreas-krey.blogspot.com
3 April 2010

My response is usually 'Why do you want to do that?' in cases that I *do* know the literal answer but sense from the question a misguided approach to some problem.

And 'Why would you want to do that?' is my answer to a lot of java mainstream behaviour. :-)
Bolt
3 April 2010

It's usually a type of personality that does this, so just don't ask them again. Google is a lot better at answering general programming questions, and questions that need special understanding, you never really get a stupid "answer" like this.
Dave
3 April 2010

@Josh

"Sometimes it means, "That sounds like a really bad idea - please re-think why you want to do that or what you think that will accomplish.""

To which my response usually is: "excuse me, but I wasn't asking if you thought it was a really bad idea, I just wanted to know if you have an answer".

That usually sends them away and then you can respond to more productive replies.
A
3 April 2010

@Dave

Maybe they scurry away because they know you will end up shooting yourself in the foot, and don't want to end up having to support whatever it is that you're doing.
Name: (required)
Email: (required)
Website:
What has four legs, rhymes with bat and says, "Meow?" (One word answer.)
Spam Filter: