přejít na obsah přejít na navigaci

Linux E X P R E S, Eiffel

Eiffel

Eiffel je pokročilý, čistě objektově orientovaný programovací jazyk s dvacetiletou historií. Důraz klade především na návrh a stavbu kvalitního a znovupoužitelného softwaru. Jeho název je poklona francouzskému inženýrovi. Lukáš Faltýnek .


Jeho duchovním otcem je Bertrand Meyer. Za vývojem pak stojí jeho firma Interactive Software Engineering (ISE), později přejmenovaná na Eifffel Software Inc. of Goleta, CA.

Vývoj jazyka začal 14. září roku 1985. O rok později byl Eiffel představen odborné veřejnosti. Pojmenování nese jazyk po inženýru Gustavu Eiffelovi, který navrhl Eiffelovu věž. Při návrhu jazyka těžil dr. Meyer ze svých pokročilých zkušeností s OOP, konkrétně jazykem Simula. Eiffel podporuje vícenásobnou dědičnost, polymorfismus a zapouzdření.

Přestože je Eiffel velmi vyspělým jazykem a mezi vývojáři, kteří ho znají, má obecně výtečnou reputaci, v porovnání s ostatními objektově orientovanými jazyky si značnou popularitu nezískal. Důvody, proč tomu tak je, jsou víceméně neznámé a bývají často diskutovány v různých internetových fórech. Osobně se mi zdá, že za to může ne zrovna lehký přístup ke kvalitní literatuře. Ten je ovšem zase dán malým zájmem o jazyk. Snad se tedy Eiffel z tohoto začarovaného kruhu dostane.

Ohledně standardizace Eiffelu učinil první krok Bertrand Meyer, když inicioval vznik konsorcia Eiffel NICE, jež sloužilo ke standardizaci jazyka a jeho knihoven. Postupem času se od Eiffel NICE přesunul k European Computer Manufacturers Association (ECMA). 21. června 2005 ECMA schválila první mezinárodní standard pro Eiffel - "ECMA standard 367, Eiffel Analysis, Design and Implementation Language".

Bohužel, ke škodě jazyka, není tento standard akceptován celou Eiffel komunitou. Konkrétně došlo k oddělení týmu, který pracuje na SmartEiffelu. Především z přesvědčení, že standard ECMA odstranil důležité principy původního jazyka.

Kompilátorů Eiffelu nalezneme opět několik. EiffelStudio je pokročilé multiplatformní integrované vývojové prostředí pro Eiffel. Existuje ve dvou verzích. Jako samostatné vývojové prostředí (EiffelStudio). To bohužel mnoha programátorům kvůli nestandardnímu uživatelskému rozhraní nevyhovuje. Pak existuje jako plugin do Visual Studio for .NET (Eiffel ENViSioN). To umožňuje uživatelům editovat, kompilovat a ladit aplikace Eiffelu přímo z IDE Microsoft Visual Studia. Pro nekomerční využití je EiffelStudio a Eiffel ENViSioN poskytováno bezplatně. Z nekomerčních je nejzajímavější velmi rychlý open-source kompilátor SmartEiffel, který je šířen s licencí GNU GPL. A ještě EiffelStudio. To je však pro použití ve Windows zpoplatněné, na rozdíl od Linuxu, pro který je zdarma.

Návrh Eiffelu je založen na teorii objektově orientovaného programování bez vlivu předchozích strukturovaných jazyků a s oficiální podporou abstraktních datových typů. Eiffel není case sensitive. Klíčová slova a identifikátory mohou být psány v jakékoliv kombinaci malých a velkých písmen. Standard kódování nicméně předepisuje používat velká písmena pro názvy tříd a malá písmena pro jména proměnných a metod. Počáteční velká písmena pak pro konstanty, pro zdůraznění každého podtrženého slova.

Syntaxe Eiffelu může být parsována bez speciálního znaku na konci příkazu. Používání středníků jako koncového symbolu nebo oddělovače instrukcí je ponecháno na úsudku programátora. Mnoho programátorů v Eiffelu středníky nepoužívá, s výjimkou kdy vkládají více příkazů na řádku a chtějí je oddělit.

Eiffel nedovoluje výrazu, aby byl použit jako instrukce. A instrukci, aby byla použita jako výraz. Rutiny, které vrací hodnotu, mohou být použity pouze ve výrazu. Rutiny, které hodnotu nevrací, pak pouze jako instrukce.

Všechen nízkoúrovňový kód je Eiffelem očekáván v C. Dále pak Eiffel poskytuje přímý interface k C rutinám. Eiffel je obecně propojen s C. Výstupem většiny eiffelovských kompilátorů není objektový nebo strojový kód, ale zdrojový kód v C, který je pak poskytován C kompilátorům. Tím je dosaženo optimalizace a přenositelnosti.

Ukázka programu Hello, World!:
class HELLO_WORLD
create
make
feature
make is
do
io.put_string ("Hello, world!%N")
end
end

Nahoru

Odkazy

Přidat téma diskuse

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Lukáš Faltýnek

Lukáš Faltýnek

Vystudoval informační management na Univerzitě Hradec Králové. Pracuje jako analytik/programátor. Láskou k počítačům vzplanul v roce 1986, kdy dostal svůj první počítač Atari 800 XL. S Unixem se poprvé setkal před dvanácti lety. Chvíli nato pak s Linuxem, který si pro jeho svobodu zamiloval. Je ženatý a má dvě děti. Mezi jeho koníčky patří literatura, kinematografie a cestování.


  • Distribuce: Ubuntu

| blog