Eiffel -> Liberty -> Vol.1 -> No.1 -> Bertrand Meyer -> From comp.lang.eiffel discussion

[2nd Edition of OOSC (Object-Oriented Software Construction) by Bertrand Meyer]
OOSC2 Reviews

Eiffel's Design by Contract: Predecessors and Original Contributions

Bertrand Meyer
President, ISE
Santa Barbara (California)
Ph: 805-685-1006, fax 805-685-6869,
Email: Bertrand.Meyer@eiffel.com

The concepts of preconditions and postconditions to form a contract on a routine go back at least to Dijkstra and Hoare in the late 60's and early 70's. In the late 70's and early 80's there were a couple of experimental languages Alphard and Euclid that were designed to support assertions. It's not clear to me how much they succeeded in implementing these, however.

IMHO, Meyer made two major contributions in this area (along with a host of lesser ones). :

  1. Brought the world Eiffel, the first commercial language to support Hoare's and Dijkstra's ideas.

  2. Was the first to get the interaction of subtyping and assertions exactly right _and_ implement it in a commercial language.
For some reason I don't fully understand, Pierre America is often credited with #2.

Jim McKim
mailto:%20jcm@hgc.edu

I am most grateful for and honored by the credit. Let me point out, however, that James McKim's message both omits some important predecessors to Eiffel's Design by Contract principles, and under-represents the theory's own contributions.

On the predecessors, the following should be quoted:

On the original aspects, apart from what James McKim mentions, one should note:

Bertrand Meyer - 12 Mar 97
President, ISE Inc., Santa Barbara (California)
805-685-1006, fax 805-685-6869, Bertrand.Meyer@eiffel.com
Web: http://www.eiffel.com/, with instructions for free download
== ISE Eiffel 4: Eiffel straight from those who invented it ==