Dieser Artikel von Wikipedia ist u.U. veraltet. Die neue Version gibt es hier. Eiffel ist eine universelle rein objektorientierte Programmiersprache und wurde seit 1985 von dem französischen Informatiker Bertrand Meyer seiner Firma Interactive Software Engineering Inc. (Goleta Kalifornien ) als Alternative zu C++ entworfen wobei zunächst nur an den durch die eigene Firma gedacht war. Es sich im Unterschied zu C++ um einen neuen Entwurf der auf keiner älteren Sprache Erklärtes Ziel der Entwicklung ist es mit ein Werkzeug zu schaffen um damit umfangreiche aus zuverlässigen wiederverwendbaren sowie leicht wart- und Modulen zu konstruieren . Dazu werden potentiell riskante Möglichkeiten des (manuelle Speicherverwaltung globale Variablen undisziplinierte Typumwandlungen direkte "GOTOs" usw.) weitgehend ausgeschlossen Optimierungen (speziell die betreffend etwa Inline-Ersetzung ) an den Compiler delegiert. Der konsequent objektorientierte Ansatz für "Design im Großen" wird ergänzt durch (eher Anwendung der strukturierten Programmierung "im Detail" (auf der Ebene der Routine).
Die Syntax ist beeinflusst von Ada und der ALGOL -Sprachfamilie. Sie soll vor allem "einfach" (leicht sein.
Die Sprachdefinition von Eiffel ist Public Domain und steht unter der Kontrolle von Nonprofit International Consortium for Eiffel (NICE) welche das Recht hat jedes bezüglich der Konformität zum Standard zu validieren es den Namen "Eiffel" tragen darf.
Der Anspruch mit Eiffel eine Programmiersprache zu haben mit der Softwareentwicklung gemäß den des Ingenieurwesens ermöglicht wird und welche die Erkenntnisse Software Engineering konsequent umsetzt wird insbesondere durch den dokumentiert eine Reverenz an Gustave Eiffel Erbauer des Eiffelturms und einen der großen Ingenieure des Jahrhunderts.
Als Anwendungsgebiete für die sich Eiffel anbietet werden genannt:
sicherheitskritische Anwendungen
Entwurf- und Spezifikationssprache
Ausbildung in objektorientierter Programmierung
Es gibt einige wenige kommerzielle Eiffel-Entwicklungsumgebungen mit SmartEiffel (ehemals SmallEiffel siehe Abschnitt Weblinks) einen Open Source -Compiler die Sprache konnte bis heute (2003) nicht die Verbreitung von C++ oder Java erlangen. Es steht auch keine der Software- oder IT-Firmen hinter Eiffel (wie Sun Microsystems hinter Java oder Microsoft hinter C# bzw. BASIC).
Der Quelltext wird gewöhnlich in den Maschinencode der Zielmaschine compiliert (manchmal auch über Umweg der Umwandlung der Eiffel-Sourcen in C -Code) es gibt aber auch Ansätze diesen Bytecode für die Java Virtual Machine zu übersetzen. Die Effizienz sowohl bezüglich Geschwindigkeit als auch bezüglich des Speicherbedarfs ist Native Code in etwa mit der von vergleichbar.
standardmäßig dynamische Bindung; wo möglich soll Compiler in effizientere statische Bindung optimieren
Ausnahmebehandlung
Operator overloading
Schnittstelle zu anderen Programmiersprachen insbesondere C
nur ein universeller Schleifentyp (entspricht etwa
Standardbibliothek (im Umfang der von C++
Eine Spezialität von Eiffel ist die des Design by Contract ™-Prinzips bei der Entwicklung. Dazu werden durch Sprache differenzierte Mittel bereitgestellt um Klassen ihre Funktionen sowie ganze Klassenhierarchien auf systematische Weise (abschaltbaren) Zusicherungen ( Assertions ) auf Korrektheit der Abläufe und Zustände der Laufzeit zu überwachen.
Ein Eiffel-Programm besteht nur aus Klassen. Klasse ist ein eigenes Modul. Bei der wird eine Root-Klasse festgelegt von der eine beim Starten des Programms erzeugt wird.
HTML-Code zum Verweis auf diese Seite: <a href="http://www.uni-protokolle.de/Lexikon/Eiffel_(Programmiersprache).html">Eiffel (Programmiersprache) </a>