Paradigm | Object-oriented, Class-based, Generic, Concurrent |
---|---|
Designed by | Bertrand Meyer |
Developer | Eiffel Software |
First appeared | 1986[1] |
Stable release | EiffelStudio 24.05[2]
/ 14 June 2024 |
Typing discipline | static |
Implementation language | Eiffel |
Platform | Cross-platform |
OS | FreeBSD, Linux, macOS, OpenBSD, Solaris, Windows |
License | dual and enterprise |
Filename extensions | .e |
Website | eiffel |
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,[3] 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;[4] the first version becoming available in 1986. In 2005, Eiffel became an ISO-standardized language.
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 later found their way into Java, C#, and other languages. [5] New language design ideas, particularly through the Ecma/ISO standardization process, continue to be incorporated into the Eiffel language.
To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.