Eiffel (linguaggio di programmazione)

Da Wikipedia, l'enciclopedia libera.
(Reindirizzamento da Eiffel (linguaggio))
Vai alla navigazione Vai alla ricerca
Eiffel
linguaggio di programmazione
AutoreBertrand Meyer e Eiffel Software
Data di origine1986
Ultima versione24.05 (14 giugno 2024)
Utilizzogenerale
Paradigmia oggetti
Tipizzazionestatica ed esplicita
Specifiche di linguaggioStandard ECMA-367
Influenzato daAda, Simula, Z
Ha influenzatoAda 2012, C#, D, Java, Lisaac, Racket, Ruby, Sather, Scala
Implementazione di riferimento
ImplementazioneEiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel

Eiffel è un linguaggio di programmazione object-oriented che enfatizza la scrittura di programmi robusti. Fu uno dei primi linguaggi a oggetti compilati e pensati per l'utilizzo industriale. La sua sintassi ricorda quella di ALGOL, Pascal e Ada. Eiffel ha una tipizzazione forte statica, e una gestione automatica e affidabile della memoria (tipicamente implementata tramite garbage collection).

Il linguaggio è nato nel 1985 e ha avuto applicazioni nell'industria del software, pur non riuscendo a raggiungere il livello di diffusione di altri linguaggi object-oriented compilati (per esempio C++). In virtù delle sue rinomate proprietà di purezza concettuale (ovvero di aderenza al paradigma object-oriented classico), non raramente veniva usato nelle università a scopo didattico; oggi anche in questo ruolo è stato in molti casi soppiantato da Java.

Si differenzia dalla maggior parte dei linguaggi per avere un'implementazione nativa del design by contract. Altre caratteristiche sono:

Programma di esempio

[modifica | modifica wikitesto]

Il seguente esempio è un'implementazione di Hello, world!, il programma che stampa il testo "Hello World".

   class HELLO_WORLD
   create
       make
   feature
       make is
       do
           Io.put_string("Hello World%N")
       end
   end

Altri progetti

[modifica | modifica wikitesto]

Collegamenti esterni

[modifica | modifica wikitesto]
Controllo di autoritàLCCN (ENsh91003967 · GND (DE4280526-0 · BNF (FRcb12366791q (data) · J9U (ENHE987007532216805171
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica