Eiffel to statycznie typizowany, obiektowy język programowania opisywany w książkach Bertranda Meyera m.in. Object-Oriented Software Construction, Eiffel: The Language.
Charakterystyka języka
Główną ideą, przyświecającą twórcy języka Eiffel było stworzenie praktycznego narzędzia do tworzenia wysokiej jakości oprogramowania. Cel ten, miał być osiągnięty poprzez wykonywanie re-używalnego kodu dającego pewność swojej poprawności. Stąd Bertrand Meyer określił następujące cechy języka:
W konsekwencji w Eiffel jest ścisłe rozróżnienie metod funkcyjnych oraz proceduralnych. Pierwsze z wymienionych nie mogę modyfikować stanu obiektu a zwracane przez nie wartości nie bywają ignorowane. Drugie natomiast, potrafią modyfikować stan lecz nie potrafią go ujawniać.
Hello World
class HELLO_WORLD
creation make
feature
make is
local
do
std_output.put_string("Hello, world")
std_output.put_new_line
end
end
Historia
Język stał się zaprojektowany przez firmę Interactive Software Engineering (ISE, aktualnie Eiffel Software) w 1985 r. Rok później ISE zaimplementowała kompilator dla Eiffel na platformę UNIX.
W 1989 specyfikacja języka stała się publicznie dostępna[2]. Powstała wówczas organizacja Nonprofit International Consortium for Eiffel (NICE). Zajmująca się popularyzacją języka a także jego standaryzacją. W 1992 NICE przyjęła drugie wydanie książki Eiffel The Language Bertranda Meyera jako pierwszy standard. Następnie publikowała uaktualnienia w roku 1996, 2000, 2001, 2002[3].
Od 1999 roku ISA współpracowała z Microsoft co zaowocowało utworzeniem środowiska na platformę .NET w 2001 r[4].
W 2002 roku ECMA utworzyła grupę zajmującą się opracowaniem standardu języka Eiffel. Pierwsza wersja była opublikowana w 2005. W kolejnym - wyszło uaktualnienie standardu[2]. W tym samym roku stał się opublikowany standard ISO (ISO/IEC 25436:2006)[5].
W 2007 roku Association for Computing Machinery przyznało Bertrandowi Meyerowi ACM Software System Award za zaprojektowanie oraz implementację języka Eiffel, programowanie kontraktowe oraz działalność która przyczyniła się do tworzenia godnego zaufania, re-używalnego, efektywnego oprogramowania[6].
Środowiska programistyczne
Przedsiębiorstwo Eiffel Software oferuje IDE Eiffel Studio na licencji komercyjnej albo GPL. Środowisko jest dostępne dla wielorakich systemów operacyjnych: MS Windows, Linux, FreeBSD, OpenBSD, Solaris.
SmartEiffel (poprzednio SmallEiffel) to IDE wykonywane przez zespół prof. Dominique Colnet w centrum naukowym LORIA we Francji[7]. Środowisko oprócz klasycznej kompilacji, oferuje możliwość wygenerowania kodu wykonywalnego dla maszyny wirtualnej Java. Nie jest zgodne ze standardem ISO/ECMA [8].
Visual Eiffel jest środowiskiem udostępnianym na licencji GPL na platformy Windows oraz Linux.
Przypisy
Linki zewnętrzne