From: Tayssir John Gabbour
Subject: Re: Chapter 16 of Practical Common Lisp ready for review.
Date: 
Message-ID: <cd4sb4$pn9@odak26.prod.google.com>
Barry Wilkes wrote:
> I appreciate that this is a little late, but my eye caught the
unqualified
> comment "While exceptions are a vast improvement over using normal
function
> returns..."  I remembered reading an article by Joel Spolsky
> (http://www.joelonsoftware.com/items/2003/10/13.html), which
basically
> presented a pretty good argument *against* exceptions in Java and
C++.  I know
> that exception handling in Lisp is far more powerful than that in
these
> languages, but then in Lisp we also have the benefit of functions
returning
> multiple values, which as pointed out in the article, can be used
very
> effectivly for error handling.
>
>  I do think that, given that the book is introductory in nature, it
probably
>  is worth defending your statement a bit, rather than just letting it
stand.

Kent Pitman covered such things, like (thank god for keyboard macros):
http://www.nhplace.com/kent/Papers/Exceptional-Situations-1990.html

- Ignoring Exceptional Situations
- Modified Return Value Conventions
- Multiple Return Values
- Multiple Return Points (Lexical)
- Multiple Return Points (Dynamic)

The problem is, Joel never presented an actual engineering defense of
his point. He never said which exceptions were problematic. For
example, Java's exceptions avoid all his criticisms. And CL's system
does too. The best defense came from Microsoftie Raymond Chen, who only
argues that people tend to overestimate the ease of exceptions.

In fact, Joel links to a paper, Goto Considered Harmful. Dijkstra
wrote:

"Finally a short story for the record. In 1968, the Communications of
the ACM published a text of mine under the title 'The goto statement
considered harmful', which in later years would be most frequently
referenced, regrettably, however, often by authors who had seen no more
of it than its title, which became a cornerstone of my fame by becoming
a template: we would see all sorts of articles under the title 'X
considered harmful' for almost any X, including one titled 'Dijkstra
considered harmful'. But what had happened? I had submitted a paper
under the title 'A case against the goto statement', which, in order to
speed up its publication, the editor had changed into a 'letter to the
Editor', and in the process he had given it a new title of his own
invention! The editor was Niklaus Wirth."

As you can tell, I've talked about this point rather frequently. ;)
MfG,
Tayssir