Thursday, October 4, 2007

Will Code for Hugs

"Computers should just work."
That's easy for you to say. The fact is that, unlike dogs and children, computers do exactly what they are told. If you instruct your computer to read a place in memory that has not been initialized, it will do just that. If you delete the root of your file system, there is no reason to be surprised when, on the next boot, your computer stops working.
"But I didn't mean to..."
Maybe we don't want computers to do exactly what we tell them then. Maybe we want them to do exactly what we mean to tell them. Reading users minds is not enough though - programmers must foresee what users will think. In my limited software engineering experience, this is what makes programming difficult and time consuming. Every possibility must be considered; actually, every conceivable combination of future possibilities must be considered. Hours can be spent trying to figure out why some unexpected input caused a program to fail.
So next time you see an error message appear on your screen, resist the urge to yell at your computer programming friends. Instead, give them a hug. We could use one.
Inspiration for post: Finishing my CS240 Collections Project.

No comments: