Eiffel (linguaggio di programmazione)
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).
Eiffel linguaggio di programmazione | |
---|---|
Autore | Bertrand Meyer e Eiffel Software |
Data di origine | 1986 |
Ultima versione | 24.05 (14 giugno 2024) |
Utilizzo | generale |
Paradigmi | a oggetti |
Tipizzazione | statica ed esplicita |
Specifiche di linguaggio | Standard ECMA-367 |
Influenzato da | Ada, Simula, Z |
Ha influenzato | Ada 2012, C#, D, Java, Lisaac, Racket, Ruby, Sather, Scala |
Implementazione di riferimento | |
Implementazione | EiffelStudio, LibertyEiffel, SmartEiffel, Visual Eiffel |
Descrizione
modificaIl 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:
- Ereditarietà multipla.
- Sistema di tipi in grado di gestire sia la semantica di valore che la semantica di riferimento.
- Classi generiche, cioè parametrizzate da altre classi.
- Orientamento agli oggetti puro. Per esempio, è possibile creare sottoclassi anche della classe INTEGER.
- Overloading degli operatori (ma non dei metodi).
Programma di esempio
modificaIl 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- Wikimedia Commons contiene immagini o altri file sull'Eiffel
Collegamenti esterni
modifica- (EN) Iniziativa Open Source di Eiffel Software's, su dev.eiffel.com.
- (EN) Eiffel Software, Inc. web site of the company that introduced Eiffel, was Interactive Software Engineering (ISE).
- (EN) Object Oriented Software Construction, Second Edition, by Bertrand Meyer, Prentice Hall, 1997, ISBN 0-13-629155-4; contains a very detailed treatment of the beliefs about object-orientation behind Eiffel.
- (EN) Eiffel: the Language subset
- (EN) Eiffel tutorial (100 pages) by Bertrand Meyer (HTML, PDF)
- (EN) SmartEiffel Archiviato il 13 aprile 2011 in Internet Archive. fairly complete Eiffel compiler, released under GNU GPL license, was SmallEiffel.
- (EN) NICE Nonprofit International Consortium for Eiffel.
- (DE) more Eiffel-Links, su coderlinks.de.
- (EN) Cetus Eiffel Page, su cetus-links.org. URL consultato il 30 giugno 2004 (archiviato dall'url originale il 4 giugno 2004).
Controllo di autorità | LCCN (EN) sh91003967 · GND (DE) 4280526-0 · BNF (FR) cb12366791q (data) · J9U (EN, HE) 987007532216805171 |
---|