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