Eiffel (język programowania)
| ||
Pojawienie się | 1986 | |
---|---|---|
Paradygmat | obiektowy | |
Typowanie | statyczne, silne | |
Aktualna wersja stabilna | EiffelStudio 19.05[1] | |
Aktualna wersja testowa | EiffelStudio 19.07[2] | |
Twórca | Bertrand Meyer | |
Licencja | Podwójna (płatna komercyjna lub tzw. open source)[3] | |
Platforma sprzętowa | Wieloplatformowy | |
Platforma systemowa | FreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows | |
Strona internetowa |
Eiffel – statycznie typowany, 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 tworzenie re-używalnego kodu dającego pewność swojej poprawności. Stąd Bertrand Meyer określił następujące cechy języka:
- modularyzacja poprzez zastosowanie obiektów zgodnie z paradygmatem obiektowym
- ukrywanie wewnętrznych szczegółów implementacji
- polimorfizm
- dziedziczenie wielokrotne
- generyczność typów argumentów
- automatyczne zarządzanie pamięcią
- statyczna typizacja
- sprawdzane w trakcie wykonania programu warunków – programowanie kontraktowe (ang. design by contract)[4].
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 został zaprojektowany przez firmę Interactive Software Engineering (ISE, obecnie 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[5]. 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[6].
Od 1999 roku ISA współpracowała z Microsoft co zaowocowało utworzeniem środowiska na platformę .NET w 2001 r[7].
W 2002 roku ECMA utworzyła grupę zajmującą się opracowaniem standardu języka Eiffel. Pierwsza wersja została opublikowana w 2005. W kolejnym – wyszło uaktualnienie standardu[5]. W tym samym roku został opublikowany standard ISO (ISO/IEC 25436:2006)[8].
W 2007 roku Association for Computing Machinery przyznało Bertrandowi Meyerowi ACM Software System Award za zaprojektowanie i implementację języka Eiffel, programowanie kontraktowe i działalność która przyczyniła się do tworzenia godnego zaufania, re-używalnego, efektywnego oprogramowania[9].
Środowiska programistyczne
Przedsiębiorstwo Eiffel Software oferuje IDE Eiffel Studio na licencji komercyjnej albo GPL. Środowisko jest dostępne dla różnych systemów operacyjnych: MS Windows, Linux, FreeBSD, OpenBSD, Solaris.
SmartEiffel (poprzednio SmallEiffel) to IDE tworzone przez zespół prof. Dominique Colnet w centrum naukowym LORIA we Francji[10]. Środowisko oprócz klasycznej kompilacji, oferuje możliwość wygenerowania kodu wykonywalnego dla maszyny wirtualnej Java. Nie jest zgodne ze standardem ISO/ECMA[11].
Visual Eiffel jest środowiskiem udostępnianym na licencji GPL na platformy Windows i Linux.
Przypisy
- ↑ Release notes for EiffelStudio 19.05 (ang.). Eiffel.org. [dostęp 2019-08-02].
- ↑ EiffelStudio Beta Releases (ang.). Eiffel.org. [dostęp 2019-08-02].
- ↑ Eiffel Software’s Dual Licensing Business Model (ang.). eiffel.com. [dostęp 2019-08-02].
- ↑ Bertrand Meyer. Eiffel: A language and environment for software engineering. „The Journal of Systems and Software”, 1988 (ang.). [dostęp 2010-11-02].
- ↑ a b Historia środowiska Eiffel Studio firmy Eiffel Software (ang.). [dostęp 2010-11-02].
- ↑ NICE Standards (ang.). [dostęp 2010-11-02].
- ↑ Raphael Simon, Emmanuel Stapf, Bertrand Meyer: MSDN. Full Eiffel on the .NET Framework (ang.). 2002. [dostęp 2010-11-02].
- ↑ Informacje o standardzie ISO/IEC 25436:2006 (ang.). [dostęp 2010-11-02].
- ↑ Association for Computing Machinery: ACM Software System Award 2007 (ang.). [dostęp 2010-11-02]. [zarchiwizowane z tego adresu (2007-07-17)].
- ↑ Loria. People. (ang.). [dostęp 2010-11-01].
- ↑ Strona domowa SmartEiffel (ang.). [dostęp 2010-11-01].