I listened to a lecture by Bertrand Meyer (one of the authors) on this subject about eleven years ago. It made me mad; he was making ill-thought through claims that if the Ariane 5 rocket project had been developed in his favourite language (Eiffel) and with his favourite development technique (Design By Contract), its first test flight would never have failed in the spectacular way that it did.
Talking to my colleagues at the time, I learnt that, allegedly, Meyer has quite a knack of getting people riled with his half-cocked attacks. The trouble is that, amongst his weird claims, he occasionally shows some flashes of brilliance, so it is hard to discount him entirely.
I support many of his ideas about Design By Contract. I wish there was better support for Post Conditions tests in the programming languages I use.
However, I have read (and listened) to many undeserved attacks by him on various innocent technologies and their proponents.
After seeing that he was still being quoted on Ariane 5, I started to think about writing an article demonstrating the fallacies in the argument. (Bottom line: Developers would have (only) found the bug if the right unit testing was performed, or the right static analysis was done – independent of the language choice. No language choice would have prevented mission failure when the bug surfaced at run-time.)
However, upon re-reading the article, I find that at the bottom they write:
For a different view of the issue (written in response to the IEEE Computer article) see Ken Garlington‘s paper. Although we disagree with Mr. Garlington’s analysis, as expressed in Usenet discussions, we feel it is part of this site’s duty to its readers to give them access to contrarian views, letting them make them make up their own minds, for the greater benefit of software quality.
That was very big of them to reference this. Garlington seems to have done more research than I probably would have, so he has outperformed the effort that I would have done, and saved me the effort of writing it myself.