Eiffel
Named for Gustave Eiffel (1832 - 1923)
Bertrand Meyer, about 1986
Eiffel is an object-oriented language designed for the construction of large software applications. It emphasizes simplicity, reusability and scalability. An Eiffel system is composed of classes. Classes contain 'features' and 'attributes'. Features may have assertions in the form of preconditions, postconditions and invariants. Classes cooperate by means of contracts.
Eiffel: The Language, Bertrand Meyer, Prentice-Hall, 1992.
Eiffel 3
The latest version of Eiffel.