Jump to content

Eiffel

From EDM2
Revision as of 13:26, 25 January 2017 by Ak120 (talk | contribs)

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.

Sather

Eiffel was forked into another programming language called Sather fairly early on in its lifetime, the main complaints the original authors of Sather had with Eiffel was that it was not available in a free version and that its performance was slow. Sather is more strongly typed than Eiffel in the Wirthian sense and takes on some of the features of Oberon, it was quite popular for a while but interest in the language waned after the popularisation of Java as with all other object oriented languages, but also Eiffel itself over time has gained some of the characteristics that the authors of Sather were aiming for. There were a few dialects of Sather available, the main two were Sather-K developed by the Institut für Programmstrukturen und Datenorganisation (IPD) at the University of Karlsruhe and the original version developed at the International Computer Science Institute (ICSI) at the University of California, the Sather-K version got mothballed after the IPD turned its attention to Java and the ICSI version died a quiet death after being handed over to the Free Software Foundation (GNU) for further development.

There was at one time a EMX Sather port available for OS/2 but it has been lost in time, you can actually compile and run the ICSI, Sather-K and GNU versions and run it on eComStation but since there are no OS/2 bindings available any more that is a bit pointless exercise. QUT in Australia, the people behind Gardens Point Modula-2 and Gardens Point Oberon-2 did at one point have a Sather front end for the compiler kit, but apparently never released it to the public. The main advantage Sather still has over Eiffel is that it is slightly simpler and thus easier to learn, but as Eiffel is very easy to learn as well the difference is not great.

OS/2 implementations of Eiffel

Classes and bindings

Foreign libraries with Eiffel bindings

  • LibcURL - Internet URL (WWW, FTP, etc) access - Open Source - Current.

Eiffel related programmer's utilities

  • Exuberant ctags - Creates index files out of Eiffel source files - Open source - Current.

OS/2 text & programmers editors with Eiffel support

  • Boxer - Eiffel syntax support included by default - Commercial - Discontinued
  • jEdit - Java based editor - Eiffel syntax highlighting built in - Current.

DOS implementations

DOS text & programmers editors with Eiffel support

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

Eiffel implementations that run under WinOS/2

Eiffel implementations that run under Java

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

Publications

  • Bertrand Meyer: Object Oriented Software Construction - 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, originally published in 1988.
  • Bertrand Meyer: Eiffel, the Language - ISBN 0-13-247925-7
  • Frieder Monninger: Eiffel. Objektorientiertes Programmieren in der Praxis - Heise 1998, ISBN 3-88229-028-5
By the gent behind the old Visual Eiffel compiler & IDE
Introductionary articles
Tutorials and other learning material
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.
Sather

Links

USENET

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.
  • 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.