Eiffel (programming language)

Eiffel
Eiffel logo
ParadigmMulti-paradigm: object-oriented, class-based, generic, concurrent
Designed byBertrand Meyer
DeveloperEiffel Software
First appeared1986 (1986)
Stable release
EiffelStudio 24.05 / 14 June 2024 (2024-06-14)
Typing disciplinestatic
Implementation languageEiffel
PlatformCross-platform
OSFreeBSD, Linux, macOS, OpenBSD, Solaris, Windows
Licensedual and enterprise
Filename extensions.e
Websiteeiffel.org
Major implementations
EiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel, Gobo Eiffel, "The Eiffel Compiler" tecomp
Influenced by
Ada, Simula, Z
Influenced
Ada 2012, Albatross, C#, D, Java, Racket, Ruby, Sather, Scala

Eiffel is an object-oriented programming language designed by Bertrand Meyer (an object-orientation proponent and author of Object-Oriented Software Construction) and Eiffel Software. Meyer conceived the language in 1985 with the goal of increasing the reliability of commercial software development. The first version was released in 1986. In 2005, the International Organization for Standardization (ISO) released a technical standard for Eiffel.

The design of the language is closely connected with the Eiffel programming method. Both are based on a set of principles, including design by contract, command–query separation, the uniform-access principle, the single-choice principle, the open–closed principle, and option–operand separation.

Many concepts initially introduced by Eiffel were later added into Java, C#, and other languages. New language design ideas, particularly through the Ecma/ISO standardization process, continue to be incorporated into the Eiffel language.