A rubin csillogása

Ruby, a fiatal szkriptnyelv

A különböző szkriptnyelvek őseit a nagygépes parancskötegek, PC-n pedig valószínűleg a .bat kiterjesztésű kötegelt parancsfájlok környékén kell keresnünk (ez sem más, mint egy olyan interpretált nyelv, amelynek futtatóprogramja a command.com). A mai rendszerekben ezek utódai megtalálhatók például a Linuxon a shellscriptek képében, miközben külön programozási nyelvcsalád, a szkriptnyelvek családfája csírázott ki az interpretált nyelvekből. Közülük néhány csak speciális környezetben használható, míg mások inkább általános célra készültek. Ez utóbbiak közé tartozik a Ruby is.

A szkriptnyelvek tehát olyan programozási nyelvek, amelyek szöveges forrásfájlként kerülnek futtatásra, és futtatókörnyezet szükséges hozzájuk. Néha – a gyorsabb futtatás érdekében – egy köztes bináris(nak látszó) kódot is generálnak, de ez nem változtat azon, hogy esetükben elengedhetetlen egy parancsértelmező, egy interpreter. Ez utóbbi az, amely a szövegesen megfogalmazott utasításokat sorról sorra, blokkról blokkra végrehajtja. Néhány rendszerben, például a nagygépek operációs környezetében – így Unixon és annak kistestvérén, a Linuxon is – ezek a parancsfájlok régóta honosak és általánosan használtak. Ha azonban nagy teljesítményű programvégrehajtásra volt szükség, akkor sokáig nem ezekben, hanem teljes mértékben bináris állapotba fordított programokban gondolkodtak a fejlesztők – különösen PC-s környezetek esetében. Az utóbbi évek fejlesztései, a hardverteljesítmények növekedése viszont ismét az interpretált nyelvek felé fordította a figyelmet, amint azt a Java, a Perl, a Python vagy akár a .NET framework példája is mutatja. És persze a Rubyé is, az egyik legfiatalabb szkriptnyelvé.

Hatékonyság, gyorsaság, hordozhatóság

Hirdetés

A Yukihiro Matsumoto által útjára indított Ruby tehát szintén egy az interpretált nyelvek közül. Kialakításakor egy olyan objektumorientált nyelv megvalósítása volt a fő cél, amellyel hatékonyan és gyorsan lehet szkriptek segítségével dolgozni. Így érthető, hogy beépített eszköztárába a kezdetektől fogva számos olyan lehetőség került, amelyek segítették a szövegfájlok gyors feldolgozását és az ezeken alapuló rendszerek hatékony kezelését. A nyelv idővel, fokozatosan további lehetőségekkel bővült, ugyanakkor megőrizte az interpretált nyelvek egyik kifejezett előnyét, a hordozhatóságot. Így ma számos rendszeren – például Unixon, DOS-on, Windowson (95, 98, Me, NT, 2000, XP), Mac OS-en, BeOS-on és OS/2-n is – elérhető. A futtatókörnyezet ingyenes maradt, nyílt forráskódként elérhető formában, így a Linux számos disztribúciós csomagjában a Ruby is megtalálható alapfelszerelésként.

A nyelvre a nagy elődök és a pályatársak is rányomták a bélyegüket. Szintaxisát nem kis részben olyan elődök befolyásolták, mint az Eiffel és az Ada. Ráadásul, tanulva a Java, illetve a Python jó példáiból, komplex hiba- és kivételkezelési rendszere is van.

A telepítés

Bár elképzelhető, hogy rendszerünk telepítőkészlete tartalmazza a Ruby eszközkészleteit, mégis érdemes ellátogatni a www.ruby-lang.org webhelyre, mivel itt folyamatosan megtalálhatók a legfrissebb verzió forrásai. A Linuxot használóknak ennek birtokba vétele nem különbözik a többi forrásfájlban elérhető csomagétól, ugyanakkor a Windowst használóknak szokatlan lehet ez a fajta programelérhetőség. A Microsoft ablakos környezetének alkalmazói azonban nemcsak ezzel a lehetőséggel találkozhatnak. A számos más rubys alkalmazásnak is gyűjtőhelyéül szolgáló RubyForge.org-on megtalálható egy gyorstelepítő alkalmazás, amely sokat segíthet, mivel a szokásos varázslós telepítés lehetőségét kínálja a Windowst használóknak.


Windowsos telepítővarázsló segít a telepítendő elemek gépünkre juttatásában

A futtatókörnyezet mellett több kiegészítés, köztük egy fejlesztőkörnyezet is a gépünkre kerül. Ez utóbbi a FreeRIDE, amely nemcsak Windowson, hanem például Linuxon is segíthet a Ruby-alapú fejlesztésben. Használatakor egy szintaxisfigyelő szövegszerkesztőt kapunk, amely olyan funkciókat is tartalmaz, amelyek más fejlesztőeszközöknél is csak mostanság kerültek a kínálatba. Ilyen a „Refactor” menüpont alatt elérhető funkciósor – ennek használatát akár a szokásos Hello World mintaprogramon is kipróbálhatjuk. Igazi segédeszközzé azonban a komplexebb alkalmazások készítésénél avathatjuk, például a változók átnevezésekor vagy a kódrészletek önálló eljárásba való kiemelésekor.


A szükséges plusz: a telepítőkészlet részeként felkerül a gépre
a FreeRIDE fejlesztőkörnyezet (Windowson) [+]

Használatához szükségesek a Fox, az FXScintilla, illetve az FXRuby komponensei is, mivel ezekkel valósul meg a Rubyban írt IDE ablakossága. Az említetteket a windowsos telepítőkészlet elhelyezi a gépen, de Linuxot használva szükség lehet az egyenkénti összegyűjtésükre és telepítésükre. A fejlesztőkörnyezetről a ezen az oldalon olvashatunk többet, innen indulva a külön modulokkal tovább bővíthető IDE is letölthető.

Ez az egyszerű fejlesztőeszköz alkalmas a hibakeresésre és a nyelvvel való ismerkedésre, de jól jelzi a Ruby használatának előretörését, hogy már fizetős és nagyobb tudású fejlesztőkörnyezet is rendelkezésre áll hozzá. Ez az Arachno Ruby, amelynek honlapjáról egy próbaverzió is letölthető. De a neten 30 napos próbaverzióként elérhető EmEditor is ismeri már a Ruby szintaxisát.

Egy programnyelvvel való ismerkedésre azonban nem mindig elegendő a fejlesztőkörnyezet és a vele kapott mintakódok. Így van ez most is. A Rubyról már nyomtatott könyvet is kiadtak a nagyvilágban. A napi próbálkozások esetében azonban valószínűleg jobban használhatók az elektronikus dokumentáció „lapjai”. A Programming Ruby – The Pragmatic Programmer's Guide korábbi verziókhoz írt első kiadása elérhető ezen a címen, de a Ruby már említett központi honlapján ugyancsak találunk tanulást segítő leírásokat. Ha pedig konkrét alkalmazások, mintakódok iránt érdeklődünk, érdemes felkeresni a RubyForge.org, raa.ruby-lang.org címet vagy például a Freshmeat.net-en rákeresni a Rubyra. A cikk írásakor ez a keresés száznál több találatot eredményezett, amelyek között a más programokhoz való kapcsolódást szolgáló modul éppúgy megtalálható volt, mint a fejlesztőeszköz vagy a teljes SSH-kliens. Természetesen a nagy keresőket is felbiztathatjuk az alkalmazáskeresésre, például a SuperCrawler is előre gyűjtött kollekciót tartalmaz.

Ígéretes jövő

Az azonban mindenképpen megállapítható, hogy rokonaihoz hasonlóan ez a program sem bővelkedik látványelemekben, sokkal inkább egyes funkciók gyors és hatékony megvalósítására szolgál. Konzolablakban vagy a háttérben futva lehet igazán hasznos, például a hálózatos rendszerek szerverein. Azt pedig, hogy végül mekkora karriert fut be, éppen úgy az idő mutatja majd meg, mint ahogy a Pythont, a Javát és a többieket is a napi gyakorlat helyezte el az őket megillető pozícióba. A Ruby esetében már többről beszélhetünk, mint informatikai érdekességről, de valószínűleg még messze vagyunk a lehetőségek teljes kimerítésétől.

Simay Endre István

Előzmények

  • AJAX: webes kilátásaink

    Egy összetett fejlesztési technika a közeljövőben gyorsabb, látványosabb weboldalak térhódítását segítheti elő.