EIFFEL: Object-Oriented Design for Software Engineering

A number of individual concepts embodied in Eiffel were present in previous languages, notably Simula 67, Ada and Alphard. However the design has brought in many new contributions.