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).

Descrizione 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: 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 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

Collegamenti esterni

Eiffel Software, Inc. web site of the company that introduced Eiffel, was Interactive Software Engineering (ISE). 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. Eiffel: the Language subset Eiffel tutorial (100 pages) by Bertrand Meyer (HTML, PDF) SmartEiffel fairly complete Eiffel compiler, released under GNU GPL license, was SmallEiffel. NICE Nonprofit International Consortium for Eiffel.

Categoria:Linguaggi di programmazione orientati agli oggetti