Wednesday, August 8, 2012

A Good Article on Software Reliability

I was once asked by a non-programmer, "So you program computers? What does that mean... like you just know the right keys to press?"
I suppose you could possibly distill it to that... like the monkeys at typewriters, given enough pressing of the right keys -- say 20-50 million in the right order -- and you might create a usable application.
Still, this comment, coming from a reasonably bright human, stunned me in its ignorance, and I don't mean "ignorance" to be insulting, just descriptive. But how many of the billions of humans whose daily lives depend on computers, and computer programming, have any concept of what's involved in creating even a simple program, let alone a large, multi-featured application.
Well, certainly not most contributors to mainstream media. It's rarely that I view or read anything in popular sources such as newspapers or TV regarding computers and software creation that reflects even a rudimentary understanding of the underlying concepts of automata. This, however, came from the New York Times. It's a good explanation of why it's so difficult to create software with no bugs.

Errant Code? It’s Not Just a Bug

We need code, and attentive human beings, to solve problems like the runaway stock trades at Knight Capital.