from
The Free On-line Dictionary of Computing (8 July 2008)
Eiffel
<language> An {object-oriented} language produced by {Bertrand
Meyer} in 1985. Eiffel has {classes} with {multiple
inheritance} and {repeated inheritance}, {deferred class}es
(like {Smalltalk}'s {abstract class}), and {clusters} of
classes. Objects can have both {static types} and {dynamic
types}. The dynamic type must be a descendant of the static
(declared) type. {Dynamic binding} resolves {multiple
inheritance} clashes. It has flattened forms of classes, in
which all of the inherited features are added at the same
level and {generic class}es parametrised by type.
Other features are {persistent objects}, {garbage collection},
{exception} handling, {foreign language interface}. Classes
may be equipped with {assertions} (routine preconditions and
postconditions, class {invariants}) implementing the theory of
"{Design by Contract}" and helping produce more reliable
software.
Eiffel is compiled to {C}. It comes with libraries containing
several hundred classes: data structures and {algorithms}
(EiffelBase), graphics and user interfaces (EiffelVision) and
language analysis (EiffelLex, EiffelParse).
The first release of Eiffel was release 1.4, introduced at the
first {OOPSLA} in October 1986. The language proper was first
described in a University of California, Santa Barbara report
dated September 1985.
Eiffel is available, with different libraries, from several
sources including {Interactive Software Engineering}, USA (ISE
Eiffel version 3.3); Sig Computer GmbH, Germany (Eiffel/S);
and {Tower, Inc.}, Austin (Tower Eiffel).
The language definition is administered by an open
organisation, the Nonprofit International Consortium for
Eiffel (NICE). There is a standard kernel library.
An {Eiffel source checker} and compiler {front-end} is
available.
Latest version: 4.2, as of 1998-10-28.
Latest version: ISE Eiffel version 3.3.
See also {Sather}, {Distributed Eiffel}, {Lace}, {shelf}.
E-mail: <[email protected]>.
["Eiffel: The Language", Bertrand Meyer, P-H 1992].
(1998-11-15)