Eiffel


Overview
  • Proprietary product of Interactive Software Engineering, Inc.
  • Designed by Bertrand Meyer around 1986
  • Compiled programming language
  • Object oriented
  • Useful for telecommunication systems, financial applications, teaching purposes, rapid prototyping
  • Syntax is similar to Pascal
Features
  • Completely object-oriented
  • Every type is based on a class, including basic types such as integer, boolean, real, character, string, array
  • Eiffel is strongly typed (every entity has a declared type)
  • Static typing (all type errors are caught at compile time, rather than run time)
  • Assertions
  • Preconditions
  • Postconditions
  • Invariants
  • The preconditions of a routine are the responsibility of the caller.
  • The postconditions of a routine are the responsibility of the routine.
  • Invariants are properties that apply to all instances of a class and that must be preserved by all methods of the class.
  • If the preconditions, postconditions, or invariants are violated, an exception is raised.
  • Exception handling
  • Method overriding
  • Multiple inheritance
  • Feature renaming; a class can give a new name to an inherited feature
  • Unconstrained genericity
Case sensitivity
  • Eiffel is case insensitive.

Parent URL: 
category/programming
Resources URL: 
notes/eiffel/resources
Sources URL: 
notes/eiffel/sources
Topic type: 
Topic

See Also