all bits considered data to information to knowledge


In praise of sloppiness

Alexander Pope once remarked - To err is human; to forgive, divine.

He might just as well be speaking about the ultimate solution to the uneasy relationship between computer programmers and end users. The former are engaged into arcane art of software, and the latter just want their job done.

Here are some quotes that at first blush appear to be at odds one with the other - but are fully reconciled with the Alexander Pope’s quotation:

-Adam Bosworth

“That software which is flexible, simple, sloppy, tolerant, and altogether forgiving of human foibles and weaknesses turns out to be actually the most steel-cored, able to survive and grow, while that software which is demanding, abstract, rich but systematized turns out to collapse in on itself in a slow and grim implosion.”

- Niklaus Wirth

"Good enough software" is rarely good enough. It is a sad manifestation of the spirit of modern times, in which an individual's pride in his or her work has become rare."

The above quotes are two sides of the same coin.

The software must be designed for humans; it must be forgiving, easy, abuse-tolerant... To design to these standards the highest level of rigor and craftsmanship is required.  A programmer-oriented software that requires user to adapt to the idiosyncrasies of the programmer's thinking is a result of a sloppy programming, and it is never good enough let alone - divine.