Eiffel (język programowania)

Eiffel
Pojawienie się1986
Paradygmatobiektowy
Typowaniestatyczne, silne
Aktualna wersja stabilnaEiffelStudio 19.05[1]
Aktualna wersja testowaEiffelStudio 19.07[2]
TwórcaBertrand Meyer
LicencjaPodwójna (płatna komercyjna lub tzw. open source)[3]
Platforma sprzętowaWieloplatformowy
Platforma systemowaFreeBSD, Linux, Mac OS X, OpenBSD, Solaris, Windows
Strona internetowa

Eiffelstatycznie 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

  1. Release notes for EiffelStudio 19.05 (ang.). Eiffel.org. [dostęp 2019-08-02].
  2. EiffelStudio Beta Releases (ang.). Eiffel.org. [dostęp 2019-08-02].
  3. Eiffel Software’s Dual Licensing Business Model (ang.). eiffel.com. [dostęp 2019-08-02].
  4. Bertrand Meyer. Eiffel: A language and environment for software engineering. „The Journal of Systems and Software”, 1988 (ang.). [dostęp 2010-11-02]. 
  5. a b Historia środowiska Eiffel Studio firmy Eiffel Software (ang.). [dostęp 2010-11-02].
  6. NICE Standards (ang.). [dostęp 2010-11-02].
  7. Raphael Simon, Emmanuel Stapf, Bertrand Meyer: MSDN. Full Eiffel on the .NET Framework (ang.). 2002. [dostęp 2010-11-02].
  8. Informacje o standardzie ISO/IEC 25436:2006 (ang.). [dostęp 2010-11-02].
  9. Association for Computing Machinery: ACM Software System Award 2007 (ang.). [dostęp 2010-11-02]. [zarchiwizowane z tego adresu (2007-07-17)].
  10. Loria. People. (ang.). [dostęp 2010-11-01].
  11. Strona domowa SmartEiffel (ang.). [dostęp 2010-11-01].

Linki zewnętrzne