Eiffel (programmeertaal)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Eiffel
Paradigma Objectgeoriënteerd
Verschenen in 1985
Ontworpen door Bertrand Meyer
Typesysteem statisch, sterk
Implementaties EiffelStudio, Visual Eiffel, en anderen
Beïnvloed door Ada, Simula 67, Z
Invloed op C#, D, Java, Ruby, Sather, Scala
Website Ecma 367
Portaal  Portaalicoon   Informatica

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 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 (welke allen van het type class zijn), is strikt statisch getypeerd en kent ongelimiteerde meervoudige overerving.

Een hoge mate van portabiliteit wordt bereikt door vanuit Eiffel C broncode 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[bewerken]

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[bewerken]