Computer language by Bertrand Meyer. Eiffel is truly object-oriented, and emphasizes consistency of data types. It uses a concept known as 'design by contract', which means that the designer of the class can constrain input and&output of features, thereby maintaining correctness.