Jump to content

Eiffel: Difference between revisions

From EDM2
Ak120 (talk | contribs)
Ak120 (talk | contribs)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Image:Eiffel.png|200px|right]]
[[Image:Eiffel.png|200px|right]]
Object oriented structured programming language in the [[Algol]] family, originally designed by Bertrand Meyer and partially inspired by [[Simula]] and [[Modula-2]]. Much like [[Smalltalk]], Eiffel has also suffered in the last few years due to companies that built commercial tools for the language have turned their attention to [[Java]]. The language has a reputation as the language you turn to when other languages and tools have failed, particularly with large programming projects, although this has been downplayed a little as more tools for "programming in the large" appear for more mainstream languages. However the clean object-orientation features of Eiffel really have no like in other languages even with other O-O languages such as [[Smalltalk]] and Java, this means that creating code that is easy to re-factor or change outright makes it a really coherent tool for prototyping and for software that needs to be adjusted frequently such as market trading software.
Object-oriented structured programming language in the [[Algol]] family, originally designed by Bertrand Meyer and partially inspired by [[Simula]] and [[Modula-2]]. Much like [[Smalltalk]], Eiffel has also suffered in the last few years due to companies that built commercial tools for the language have turned their attention to [[Java]]. The language has a reputation as the language you turn to when other languages and tools have failed, particularly with large programming projects, although this has been downplayed a little as more tools for "programming in the large" appear for more mainstream languages. However the clean object-orientation features of Eiffel really have no like in other languages even with other O-O languages such as [[Smalltalk]] and Java, this means that creating code that is easy to re-factor or change outright makes it a really coherent tool for prototyping and for software that needs to be adjusted frequently such as market trading software.


Eiffel was forked into another programming language called [[Sather]] fairly early on in its lifetime.
Eiffel was forked into another programming language called [[Sather]] fairly early on in its lifetime.
Line 6: Line 6:
==OS/2 implementations==
==OS/2 implementations==
* Eiffel/S (SIG Computer GmbH, Germany)
* Eiffel/S (SIG Computer GmbH, Germany)
* [[ISE Eiffel]] - Commercial
* [[ISE Eiffel]]
* [[SmallEiffel]] - Open Source - renamed to SmartEiffel
* [[SmallEiffel]] - Open Source - renamed to SmartEiffel
* [[Tower Eiffel]] - Commercial
* [[Tower Eiffel]]


;Classes and bindings
;Classes and bindings
* [http://efsa.sourceforge.net/archive/tower/tbooch.htm Tower Eiffel Booch Classes] - Freeware release of the old Booch classes that Tower used to sell, work with v2 of [[Tower Eiffel]].
* [http://efsa.sourceforge.net/archive/tower/tbooch.htm Tower Eiffel Booch Classes] - Freeware release of the old Booch classes that Tower used to sell, work with v2 of [[Tower Eiffel]].
* A version of the O2 System Object oriented database was available with Eiffel bindings for a while.
* A version of the O2 System Object oriented database was available with Eiffel bindings for a while.
;Foreign libraries with Eiffel bindings
* [[LibcURL]] - Internet URL (WWW, FTP, etc) access - Open Source


;Eiffel related programmer's utilities
;Eiffel related programmer's utilities
* [[Exuberant ctags]] - Creates index files out of Eiffel source files - Open source
* [[Exuberant ctags]] - Creates index files out of Eiffel source files
 
;Editor support
* [[Boxer]] - Eiffel syntax support included by default - Commercial


==DOS implementations==
==DOS implementations==
Line 35: Line 29:
==Java implementations==
==Java implementations==
* [http://efsa.sourceforge.net/archive/kalberer/jeiffel.htm J-Eiffel] - Eiffel to Java compiler - Open source
* [http://efsa.sourceforge.net/archive/kalberer/jeiffel.htm J-Eiffel] - Eiffel to Java compiler - Open source
;Editor support
* [[jEdit]] - Java based editor - Eiffel syntax highlighting built in


==Publications==
==Publications==
Line 54: Line 45:
* Carlo Furia, Bertrand Meyer, Sergey Velder: [http://se.ethz.ch/~meyer/publications/methodology/invariants.pdf Loop invariants: Analysis, Classification and Examples] ACM Computing Surveys September 2014
* Carlo Furia, Bertrand Meyer, Sergey Velder: [http://se.ethz.ch/~meyer/publications/methodology/invariants.pdf Loop invariants: Analysis, Classification and Examples] ACM Computing Surveys September 2014


;Introductionary articles
;Introductory articles
* Joab Jackson: [http://www.joabj.com/MiscTech/030818-Eiffel.html Eiffel: The language that OOP forgot?]
* Joab Jackson: [http://www.joabj.com/MiscTech/030818-Eiffel.html Eiffel: The language that OOP forgot?]
* Coryoth: [http://www.kuro5hin.org/story/2006/10/31/20640/115 Why Eiffel Might Be Worth a Second Look]
* Coryoth: [http://www.kuro5hin.org/story/2006/10/31/20640/115 Why Eiffel Might Be Worth a Second Look]
Line 74: Line 65:
* Bertrand Meyer: [http://www.inf.ethz.ch/~meyer/ongoing/etl Standard Eiffel] (revision of preceding entry), ongoing, 1997-present.
* Bertrand Meyer: [http://www.inf.ethz.ch/~meyer/ongoing/etl Standard Eiffel] (revision of preceding entry), ongoing, 1997-present.
* [http://www.eiffel-nice.org/index.html NICE] - The "Nonprofit International Consortium for Eiffel" organisation, did some of the work on standards prior to ECMA-367.
* [http://www.eiffel-nice.org/index.html NICE] - The "Nonprofit International Consortium for Eiffel" organisation, did some of the work on standards prior to ECMA-367.
* [http://www.ecma-international.org/publications/standards/Ecma-367.htm Standard ECMA-367] Eiffel: Analysis, Design and Programming Language - 2nd edition (June 2006) - The first international formal Eiffel standard, later adopted by [[ISO]] as ISO/IEC 25436:2006.
* ECMA-367 Eiffel: Analysis, Design and Programming Language - 2nd edition (June 2006) - The first international formal Eiffel standard, later adopted by [[ISO]] as ISO/IEC 25436:2006.


[[Category:Programming Languages]] [[Category:Eiffel]]
[[Category:Programming Languages]] [[Category:Eiffel]]

Latest revision as of 17:07, 4 October 2023

Object-oriented structured programming language in the Algol family, originally designed by Bertrand Meyer and partially inspired by Simula and Modula-2. Much like Smalltalk, Eiffel has also suffered in the last few years due to companies that built commercial tools for the language have turned their attention to Java. The language has a reputation as the language you turn to when other languages and tools have failed, particularly with large programming projects, although this has been downplayed a little as more tools for "programming in the large" appear for more mainstream languages. However the clean object-orientation features of Eiffel really have no like in other languages even with other O-O languages such as Smalltalk and Java, this means that creating code that is easy to re-factor or change outright makes it a really coherent tool for prototyping and for software that needs to be adjusted frequently such as market trading software.

Eiffel was forked into another programming language called Sather fairly early on in its lifetime.

OS/2 implementations

Classes and bindings
  • Tower Eiffel Booch Classes - Freeware release of the old Booch classes that Tower used to sell, work with v2 of Tower Eiffel.
  • A version of the O2 System Object oriented database was available with Eiffel bindings for a while.
Eiffel related programmer's utilities

DOS implementations

Editor support
  • Boxer - Eiffel syntax support included by default - Commercial

Win-OS/2 implementations

Java implementations

  • J-Eiffel - Eiffel to Java compiler - Open source

Publications

  • Bertrand Meyer: Object Oriented Software Construction - Prentice-Hall 1988, ISBN 0-13-629155-4
The book where Eiffel was first described, but is actually a textbook of object-oriented methods rather than a Eiffel tutorial
Introductory articles
Tutorial
On-line courses
  • Marco Piccioni, Bertrand Meyer and Nadia Polikarpova: Art, Magic, Science - "Learn the basics of Information Technology and how to write quality programs in this introductory computer science course."
Note, closed for new participants but all course material is online if you want to do some self learning.

Links

Standards

  • Bertrand Meyer: Standard Eiffel (revision of preceding entry), ongoing, 1997-present.
  • NICE - The "Nonprofit International Consortium for Eiffel" organisation, did some of the work on standards prior to ECMA-367.
  • ECMA-367 Eiffel: Analysis, Design and Programming Language - 2nd edition (June 2006) - The first international formal Eiffel standard, later adopted by ISO as ISO/IEC 25436:2006.