Ruby (programovací jazyk)
Z Multimediaexpo.cz
Ruby je interpretovaný skriptovací programovací jazyk. Díky své jednoduché syntaxi je poměrně snadný k naučení, přesto však dostatečně výkonný, aby dokázal konkurovat známějším jazykům jako je Python a Perl. Je plně objektově orientovaný – vše v Ruby je objekt.
Obsah |
Historie
Tvůrcem Ruby je jediný člověk – Yukihiro Matsumoto, známý také pod přezdívkou Matz. Ten jako zastánce objektově orientovaného programování hledal v první polovině 90. let skriptovací jazyk, který by mu vyhovoval. Avšak Perl mu připadal v té době málo výkonný a Python zase nebyl natolik objektový, jak by chtěl. A tak se rozhodl, že vytvoří vlastní jazyk. Práce na něm započaly v roce 1993, první verze byla uveřejněna v roce 1995. Matz svůj jazyk pojmenoval po rubínu – anglicky Ruby.
Dnes je Ruby asi nejšířeji používaný v zemi svého původu – v Japonsku. Rozšíření do světa dlouhou dobu bránila absence kvalitní dokumentace v anglickém jazyce. Dnes už je však anglických materiálů celkem dost. V současné době zájem o Ruby prudce roste díky úspěchu webového frameworku Ruby on Rails.
Oblasti použití
Stejně jako jiné skriptovací jazyky, je oblast použití Ruby poměrně široká. Asi nejčastější využití najde na platformě Linux (a jiných systémech typu Unix) při psaní skriptů pro usnadnění každodenní práce. Díky své přehledné syntaxi a striktní objektovosti se hodí i k psaní velkých projektů, CGI skriptů, ba dokonce GUI aplikací (GTK2, TK, Qt, fxRuby atd.). Jelikož podporuje regulární výrazy, je Ruby vhodným jazykem pro zpracování textových souborů.
Výhody a nevýhody
Výhody:
- interpretovaný jazyk a z toho plynoucí výhody (odpadá proces kompilace, změny ve zdrojovém kódu jsou ihned vidět)
- přenositelnost zdrojového kódu mezi platformami (MS Windows, GNU/Linux, Solaris, …)
- možnost spuštění v interaktivním režimu (program irb příkazy jsou prováděny okamžitě při svém zápisu, podporuje doplňování jmen)
- jednoduchá a snadno naučitelná syntaxe
- plná podpora objektově orientovaného programování - vše je objekt (lze však psát i klasické strukturované programy)
- dynamické datové typy
- regulární výrazy
- modularita zdrojových kódů
- možnost psát GUI nebo webové aplikace
Nevýhody:
- nižší rychlost oproti kompilovaným jazykům (interpretovaný jazyk je překládán až za běhu, navíc velká část knihoven je napsána rovněž v Ruby)
- závislost na interpretru
- nedostatek české dokumentace
- méně rozšířený jazyk oproti třeba Perlu
Ukázka kódu
Pro představu, jak Ruby vypadá, ukažme si několik příkladů. Pro začátek tradiční program hello world:
puts "Hello world!"
Tento program je často používán na důkaz toho jak je kód v Ruby čitelný:
5.times { print "ahoj!\n" }
Tento program pětkrát vypíše "ahoj!". Doslovně by se dal brát 5 krát (times znamená česky krát) vypiš ahoj.
Tento příklad je ale pořád tak jednoduchý, že nám toho o struktuře nic moc nepoví. Následující příklad prozradí víc:
def fib(n) a, b = 0, 1 while b < n print b, " " a, b = b, a+b end end fib(100)
Zde je definice metody fib, jež vypíše začátek Fibonacciho posloupnosti. Na posledním řádku je tato metoda volána s parametrem 100, čímž říkáme, že chceme vypsat posloupnost všech čísel Fibonacciho posloupnosti menších než 100. Výstup programu je následující:
1 1 2 3 5 8 13 21 34 55 89
Jelikož je Ruby plně objektový jazyk, ukažme i objekty:
class Divka def initialize(jmeno, vek) @jmeno = jmeno @vek = vek end def to_s "Jmeno:\t#{@jmeno}\nVek:\t#{@vek}" end attr_reader :jmeno, :vek end moje_devce = Divka.new('Tereza', 18) puts moje_devce.to_s puts moje_devce.jmeno puts moje_devce.vek
Po spuštění bude na výstupu:
Jmeno: Tereza Vek: 18 Tereza 18
V Ruby je úplně vše objekt (i třídy jsou objekty typu Class!). Například
1 + 2
je vlastně zavolání metody + objektu 1 s argumentem 2:
1.+(2)
Naše dva objekty 1 i 2 jsou objekty třídy Fixnum, která v Ruby slouží k uchovávání celých čísel. Velká celá čísla jsou objekty třídy Bignum, jejíž teoretická hranice je velikost operační paměti.
Externí odkazy
- http://ruby-lang.org - oficiální stránky jazyka
- http://www.ruby-doc.org/ - Ruby dokumentační projekt
- http://rubyforge.org/ - stránky projektů v Ruby
- http://www.rubycentral.com/book/ - online kniha Programming Ruby
- Full Ruby on Rails Tutorial (anglicky)
- Euruko 2008 - videozáznamy přednášek z European Ruby Conference 2008 v Praze na avc-cvut.cz
Náklady na energie a provoz naší encyklopedie prudce vzrostly. Potřebujeme vaši podporu... Kolik ?? To je na Vás. Náš FIO účet — 2500575897 / 2010 |
---|
Informace o článku.
Článek je převzat z Wikipedie, otevřené encyklopedie, do které přispívají dobrovolníci z celého světa. |