Zum Inhalt springen

Eiffel (Programmiersprache)

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 2. Juni 2003 um 14:04 Uhr durch 80.129.169.17 (Diskussion) (korrektur). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Eiffel ist eine universelle, rein objektorientierte Programmiersprache und wurde seit 1985 von Bertrand Meyer und seiner Firma Interactive Software Engeneering Inc. als Alternative zu C++ entworfen, wobei zunächst nur an den Gebrauch durch die eigene Firma gedacht war. Es handelt sich im Unterschied zu C++ um einen vollständig neuen Entwurf, der auf keiner älteren Sprache aufbaut. Erklärtes Ziel der Entwicklung war es, mit Eiffel ein Werkzeug zu schaffen, um damit umfangreiche Software aus zuverlässigen, wiederverwendbaren und leicht wartbaren Modulen zu konstruieren.

Die Syntax ist beeinflußt von Ada und der ALGOL-Sprachfamilie.

Der Anspruch, mit Eiffel eine Programmiersprache geschaffen zu haben, mit der Softwarentwicklung gemäß den Standards des Ingenieurwesens ermöglicht wird und welche die Erkenntnisse des Software Engineering konsequent umsetzt, wird insbesondere durch dem Namen dokumentiert, eine Referenz an den Erbauer des Eiffel-Turms und einen der großen Ingenieure des 19. Jahrhunderts.

Es gibt einige wenige kommerzielle Eiffel-Entwicklungsumgebungen und mit SmartEiffel (ehemals SmallEiffel, siehe Abschnitt Weblinks) mindestens einen Open Source-Compiler, die Sprache konnte bis heute (2003) allerdings nicht die Verbreitung von C++ oder Java erlangen.

Der Quelltext wird gewöhnlich in den Maschinencode der Zielmaschine compiliert (manchmal auch über den Umweg der Umwandlung der Eiffel-Sourcen in C-Code), es gibt aber auch Ansätze, diesen in Bytecode für die Java-Virtual-Machine zu übersetzen.

Eigenschaften

Eine Spezialität von Eiffel ist die Unterstützung des Programming by Contract -Prinzips bei der Entwicklung. Dazu werden durch die Sprache differenzierte Mittel bereitgestellt, um Klassen, ihre einzelnen Funktionen so wie ganze Klassenhierarchien auf systematische Weise mit (abschaltbaren) Zusicherungen (Assertions) auf Korrekheit der Abläufe und Zustände während der Laufzeit zu überwachen.

Zu Eiffel gehört eine Standardbibliothek, deren Umfang ungefähr der von C++ entspricht.

Literatur

  • Jean-Marc Jezequel: Object-Oriented Software Engineering with Eiffel, Addison Wesley Professional, 1996
  • Bertrand Meyer: Object-oriented Software Construction, 2nd ed. Prentice Hall, 1997
  • Bertrand Meyer: Eiffel: The Language Prentice Hall, 1992
  • Richard Wiener: Software Development Using Eiffel - There Can Be Life After C++ Prentice Hall, 1995