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