Ruby

Pasak WikipediosRuby – interpretuojama programavimo kalba greitam ir lengvam objektiškai orientuotam programavimui. […] Tai paprasta, mobili ir lengvai plečiama kalba.”

Mmm… “lengvas objektiškai orientuotas programavimas”. Skamba viliojančiai =)

Iš pradžių klausimai į kuriuos reikia atsakyti: taip, Ruby veikia Windows platformoje. Netgi daugiau: Ruby puikiai veikia visose pagrindinėse operacinėse sistemose: Windows, Linux (Unix), MacOs, BeOs, OS/2 ir t.t.

Ruby yra interpretuojama programavimo kalba, o tai reiškia, kad kaip ir daugelis kitų kalbų (Python, Perl, Php, *.bat bylos =)) Ruby kodas nėra kompiliuojamas ir jį paleidžia interpretatorius.

Ruby yra objektiškai-orientuota programavimo kalba: jei tokiose kalbose kaip Python’as arba Java yra objektų “pakaitalų”, tai Ruby faktiškai yra pilnai objektiškai-orientuota (objektiškumas ir buvo viena iš šios kalbos parašymo priežasčių).

Taip prieiname prie sintaksės. Čia norėčiau papasakoti trumpą istoriją:

Man asmeniškai keletą metų teko dirbti su Python’u. Dalinai to reikalavo darbdavys (pagrindinis programavimas įmonėje vyko Python kalba), dalinai tai buvo mano “programming language of choice”. Visą tą laiką lyg ir žinojau, kad egzistuoja tokia Ruby programavimo kalba, kuri yra labiau objektiškai-orientuota bei galingesnė nei Python’as, jaunesnė, šviežesnė, tačiau vis numodavau ranką, manydamas kad kalba yra pernelyg nebrandi, turi nepakankamai dokumentacijos, yra per mažai naudojama ir t.t.

Taip maniau iki tol, kol Slashdot’e ne pamačiau vis dažnėjančių įrašų apie Ruby on Rails. Tada pradėjau nagrinėti šią programavimo kalbą. Jaučiausi keistai: iš pradžių (paviršutiniškai žiūrint Ruby sintaksė yra panaši į Python’o sintaksę) nebuvo intuityviai aišku kodėl reikia visur prirašinėti “end”, bei kodėl nebūtina sąlygose rašyti “:”, tačiau palaipsniui pripratau (dabar (kartais) dirbant su Python’u keista kodėl reikia naudoti toki griežtą “whitespace’a”, bei kodėl nereikia prirašyti “end” sąlygos gale =)). Greitai priėjau “closures” (prireikė laiko perprasti šį principą), bei kitas įdomias “savybes” (bet apie jas vėliau).

Su laiku programuojant Ruby augo mano entuziazmas, ir nusprendžiau juo pasidalinti su vienu iš bendradarbiu (mano manymu labiau patyrusiu už mane programuotoju). Po kiek laiko jis man atsakė, kad jam Ruby “primena Japonų kalbą”. Būtent taip ir pasakė =).

Aš manau, jog tai geriausias apibūdinimas (kaip perkeltine taip ir tiesiogine prasme). Iš pažiūros paprasta: vienas hieroglifas – viena reikšmė (nereikia rašyti žodžio, kuris susideda iš raidžių), tačiau visgi sunki/kitokia/nesuprantama (nes Japonų =)), o po kiek laiko, įpratus, labai galinga ir produktyvi.

Tikiuosi sužadinau Jūsų apetitą bei atsakiau į kelis klausimus. Jei taip tai parsisiųskite Ruby ir išbandykite patys.

P.S. Tai mano pirmas įrašas į šį blogą. Jei turite klausymų / pageidavimų / pastabų – drąsiai rašykite komentarus.