Why is reliable software so hard?

Friday 28 April 2006This is over 17 years old. Be careful.

Damien Katz is working on a big project called Couch (a non-relational database, plus a bunch of other stuff). He’s given a lot of thought to how to make the software reliable, in particular, how to handle unforeseen conditions. He’s just posted a long explanation of his thoughts on the matter: Error codes or Exceptions? Why is Reliable Software so Hard? It’s very good, includes witty illustrations, and even (in the comments) an admission that the whole Hasselhoff thing is a gag.

Damien is implementing Couch in Erlang, which is one of those esoteric languages I wish I had the time to really understand. From what Damien has told me about it, it is truly mind-bending, in good ways. His article points in the Erlang direction, to give you a taste of how a different programming paradigm can change how you think about software.


Thanks for your edits and input on it Ned. It's now made Reddit and Digg, and I've had over 15k visitors the past two days (and I've only been called a moron 3 times).

And of course the Hasselhoff thing isn't really serious. Ha Ha! Let's all laugh at the funny joke! [glances around nervously]
Is there is reliablity of anything? Thats why it is hard. Lets see how can it handle unforseen conditions which is good on his part. But its not that easy. And the Hasselholf thing is a gag, nothing serious about it.

Add a comment:

Ignore this:
Leave this empty:
Name is required. Either email or web are required. Email won't be displayed and I won't spam you. Your web site won't be indexed by search engines.
Don't put anything here:
Leave this empty:
Comment text is Markdown.