Eiffel (programming language)

Eiffel
Eiffel logo
ParadigmObject-oriented, Class-based, Generic, Concurrent
Designed byBertrand Meyer
DeveloperEiffel Software
First appeared1986[1]
Stable release
EiffelStudio 23.09[2] / 6 October 2023 (2023-10-06)
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,[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.

  1. ^ "Eiffel in a Nutshell". archive.eiffel.com. Retrieved 24 August 2017.
  2. ^ "EiffelStudio 23.09 is available!". Eiffel.org. 25 October 2023.
  3. ^ Cooper, Peter (2009). Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional (2nd ed.). Berkeley: APress. p. 101. ISBN 978-1-4302-2363-4. To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.
  4. ^ "Eiffel – the Language". berenddeboer.net. Retrieved 6 July 2016.
  5. ^ Meyer, Bertrand (2009-08-28). Touch of Class: Learning to Program Well with Objects and Contracts. Springer Science & Business Media. ISBN 978-3-540-92144-8.