Linux E X P R E S

Facebook

Ruby

Lukáš Faltýnek postupně představuje známé i méně známé programovací jazyky.


"Kolik jazyků znáš, tolikrát jsi programátorem," dalo by se při troše dobré vůle parafrázovat známé pořekadlo. A protože na každém šprochu pravdy trochu, pojďme si v následujícím seriálu některé málo známé jazyky přiblížit. Inspirovat se jejich možnostmi a nadchnout vás k jejich případnému praktickému vyzkoušení.

Věřím, že lidé, kteří píší program, chtějí vyjádřit sebe. Nechtějí bojovat s jazykem. Programovací jazyk musí být pro programátora přirozený.
Yukihiro Matsumoto

První jazyk, s nímž se dnes seznámíme, nese krásné jméno Ruby, do češtiny přeloženo Rubín. Vzácný červený kámen těšící se veliké oblibě především v asijských zemích. Jeho domovem je nám kulturně vzdálené Japonsko.

Otcem tohoto mocného, dynamického, plně objektově orientovaného skriptovací jazyka je Yukihiro Matsumoto, na Internetu vystupující pod přezdívkou "Matz". Dle svých slov, s přesností na den, započal Matsumuto vývoj Ruby 24. února 1993. První program "Hello world", jehož kód, jak je tradicí, si za chvíli ukážeme, pak napsal tentýž rok v létě.

Nyní ale již konkrétně k samotnému interpretru a jazyku. Interpretr jazyka Ruby je psán v jazyce C, což zaručuje jeho běh na nejrůznějších platformách. Najít ho tak například můžeme pod Linuxem, nejrůznějšími druhy UNIXU, MS-Dos, MS-Windows, BeOS a MacOS X. Navíc je od počátku vyvíjen jako open source.

Návrh jazyka byl nejvíce ovlivněn jazyky Perl, Lisp a Smalltalk, a tak není divu, že mnoho užitečného z nich Ruby obsahuje. Někdy se ve stručnosti charakterizuje vzorcem RUBY = (Perl+Smaltalk)/2.

Jak Matsumoto mnohdy uvádí, na samém počátku stála snaha vytvořit skriptovací jazyk, který by byl mnohem silnější než Perl a mnohem více objektově orientovaný než Python. Další snahou pak bylo (a je) vytvořit počítačový jazyk, v němž se programátor může soustředit víc na řešení daného problému než na syntaxi jazyka samotného. (Tedy vytvořit jazyk vyšší úrovně. Pozn. redakce.)

Matsumuto k tomuto říká: "Při užití Ruby se chci koncentrovat na věci, které dělám, a ne na magická pravidla jazyka, jakými jsou public void something something something, abych řekl "napiš Ahoj světe". Já chci jen říct "napiš to!". Nechci se obklopovat magickými klíčovými slovy. Chci se pouze a jen soustředit na požadovaný úkol. A toto je základní idea Ruby."

Pracuji pro společnost, která mi povolila přepsat existující Windows/Visual Foxpro/COM systém užitím Ruby. Vývoj nového systému byl velmi rychlý a čistý.
Ruby nám dal jednoduchý způsob vyjádřit naše UML diagramy v kódu.
Gabriel Emerson

Další pak je svoboda, která dává programátorovi možnost udělat stejnou věc mnoha způsoby. Nyní si pro představu uvedeme tři způsoby, jak na obrazovku monitoru vypsat známou větu "Hello World".

Ukázka číslo 1:
print "Hello World!"
Ukázka číslo 2:
puts "Hello World!"
Ukázka číslo 2:
def helloWorld
puts 'Hello world!'
end
helloWorld

Posledním neméně zajímavým principem, který si šíře uvedeme, je princip nejmenšího překvapení. Což v praxi znamená, že pokud v Ruby napíšeme kód, neměli bychom být překvapeni jeho chováním. Proto, aby se tento princip uplatnil, je ale potřeba nejprve nějaký čas s Ruby pracovat.

Matsumuto o tomto říká: "Princip nejmenšího překvapení začne pracovat až potom, co se Ruby naučíte velmi dobře. Velmi intenzivně jsem necelé tři roky programoval v jazyce C++. A i po tolika letech mě C++ stále dokáže překvapit." Toto by se s Ruby stát nemělo.

Ptáte-li se na praktické využití jazyka Ruby, uveďme si, že ho můžeme pohodlně použít při řešení následujících typů úloh: zpracování textu, psaní CGI skriptů, vytváření síťových aplikací, tvorba GUI, práce s XML a výuka objektově orientovaného programování.

V praxi pak Ruby například využívá Americká NOAA (National Oceanographic and Atmospheric Administration) ke zpracovávání snímků a meteorologických dat, která jsou pořizována ze satelitu. V NASA zase našel uplatnění pro provádění nejrůznějších výpočtů. Ruby byl i částečně použit v pátrání po příčinách hrůzného pádu amerického raketoplánu Columbia v roce 2003.

Diskuze (0) Nahoru