Computers do what you tell them to.

by EvanJPalmer

So there’s some conventional wisdom in computer science that goes something like “computers only do what you tell them to do”. So basically, if your code isn’t working it’s your fault. In other words, your code is working, you just told the computer do something dumb.

So picture this, you click on the reporting tab of your application, and see an error page. That’s exactly what should happen. You told the computer to get the data, and divide “a” by “b”. Since “b” was zero and you told the computer that when when you divide by zero you should throw an excpetion. And when you throw an exception, you should show the error screen.

See! You told the computer to show the error screen when you click the reports tab!

Right?

Well no – the programmer did. But YOU didn’t. So mabe the addage should changed to:

“Computers only do what the programmer told them to do?”

Right?

Well I don’t think that’s right either.

I mean, the programmer didn’t tell the machine to throw a DivideByZeroException. It’s true the developer should have handled that case, but the programmer didn’t tell it to do that at all.

The language designer did.

So should the adage be change to:

“Computers only do what the developer and language designer told them to”

Maybe – although it doesn’t really have the same ring to it.

Anywho, my only point is that computers don’t do what YOU (i.e. one peson) told them to do. They do what a person who told a person who told a person who told a ….

In the words of Jeff Goldblum in Jurassic Park:

[We] stood on the shoulders of geniuses to accomplish something as fast as you could, and before you even knew what you had, you patented it, and packaged it, and slapped it on a plastic lunchbox, and now! Now you’re selling it, you wanna sell it!