Eiffel (programmeertaal)

Eiffel is een zuiver objectgeoriënteerde programmeertaal, vanaf 1985 door Bertrand Meyer ontwikkeld bij het bedrijf Interactive Software Engineering (het tegenwoordige Eiffel Software uit Santa Barbara in de Amerikaanse staat Californië) en naar Gustave Eiffel vernoemd (onder andere de architect van de Parijse Eiffeltoren).

Eiffel
ParadigmaObjectgeoriënteerd
Verschenen1985
Ontworpen doorBertrand Meyer
Ontwikkeld doorBertrand Meyer en Eiffel Software
Typesysteemstatisch, sterk
ImplementatiesEiffelStudio, Visual Eiffel, en anderen
Beïnvloed doorAda, Simula 67, Z
Invloed opC#, D, Java, Ruby, Sather, Scala
WebsiteEcma 367
Portaal    Informatica

Eiffel is een zogenaamde zuiver objectgeoriënteerde programmeertaal. Dit betekent dat alle bekende begrippen met betrekking tot objectoriëntatie (zoals information hiding, polymorfisme en dynamische binding) op Eiffel van toepassing zijn. Hoewel de taal in de industrie nooit echt is aangeslagen is ze daarmee wel een populaire taal voor educatieve doeleinden. Ze ondersteunt generieke datatypen (die allemaal van het type class zijn), is strikt statisch getypeerd en kent ongelimiteerde meervoudige overerving.

Een hoge mate van portabiliteit wordt bereikt door vanuit Eiffel broncode in C te genereren. C kan namelijk weer op tal van platformen worden gecompileerd. Bovendien hanteert Eiffel een beperkt aantal begrijpelijke sleutelwoorden (zoals we dat ook wel kennen van Algol en Pascal). Dit maakt de ontwikkeling van compacte, overzichtelijke brontekst mogelijk. Door sommige softwareontwikkelaars wordt dit echter gezien als een beperkende factor (betuttelend). Met de mogelijkheid om de semantische karakteristieken van een datatype te specificeren in dezelfde notatie die later wordt gebruikt om de eigenschappen van bewerkingen, en weer later de implementatiedetails, vast te leggen of te wijzigen ontstaat wel een consistente samenhang tussen specificatie, ontwerp en realisatie. Mechanismen zoals automatisch geheugenbeheer (geïmplementeerd via garbage collection), de integratie van assertie-afhandeling en design by contract (DbC), geven aan dat de nadruk bij de ontwikkeling van Eiffel heeft gelegen op robuustheid.

Op 21 juni 2005 is de eerste internationale standaard voor Eiffel goedgekeurd: ECMA standaard 367, Eiffel Analysis, Design and Implementation Language. Deze standaard is echter niet door de gehele Eiffelgemeenschap met open armen ontvangen omdat volgens hen een aantal basisprincipes van de oorspronkelijke taal ter zijde zijn geschoven. Hierdoor heeft er een afsplitsing plaatsgevonden: SmartEiffel.

Voorbeeld

Hieronder een voorbeeld van Eiffel-broncode (het klassieke Hello world):

 class HELLO_WORLD
 create
     make
 feature
     make
         do
             io.putstring ("Hello, world!%N")
         end
 end

Zie ook

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.