ugrás a tartalomhoz

A dinamikus nyelvek sikerei és kihívásai

Hojtsy Gábor · 2004. Júl. 30. (P), 09.20
Mint ahogy előző hírünkben is jelentettük, megérkezett a Komodo 3.0, az ActiveState úgynevezett dinamikus nyelveket támogató fejlesztőeszköze. A megjelenéssel együtt kiadtak egy Dynamic Languages: Ready for the Next Challenges, By Design című dokumentumot is, mely ezen nyelvek sikereit és kihívásait taglalja. Nem véletlen, hogy ennyire foglalkoznak a témával, hiszen az egész cégüket erre tették fel, minden termékük a dinamikus nyelvek köré szerveződik. Több mint érdekes gondolatokat taglal ez az írás.

A PDF formában szabadon letölthető 25 oldalas elemzés a magas szintű, dinamikusan típusos, és nyílt forrású nyelvek körét vizsgálja. "Korábban" ezen nyelveket szkript nyelveknek nevezték, ez azonban a szerző - David Ascher - szerint nem fedi jól erejüket. A technológiai lehetőségeikre és a mögöttük álló közösség szerveződésére, alakulására tekintettel javasolja a dinamikus nyelv elnevezést, melyet az ActiveState honlapon már aktívan használnak is.

David szerint a dinamikus nyelvek nagyobb térhódításának a szabványtámogató nyílt rendszerek használatának követelménye, a testreszabható megoldások igénye, és a processzor kritikus programok helyett a hálózat kritikus alkalmazások megjelenése tett jót. Ebben a környezetben a dinamikus nyelvek nagyon jól teljesítenek, és a "szkript nyelv" megnevezés túlságosan is lekicsinylő már rájuk nézve.

Az elemzés először is kitér a különböző nyelvek alkalmazott kategorizálási módjára, és a dinamikus nyelveket érintő fent említett három kritériumra, majd a legnépszerűbb ilyen nyelveket veszi górcső alá. Röviden szóba kerül a Perl, a Python, a PHP, a Tcl, a JavaScript/JScript/ECMAScript hármas, de David nem feledkezik meg a feltörekvők említéséről sem, úgy mint a Ruby, Groovy, Prothon és egyebek.

Versenyképességük szempontjából a szerző fontosnak tartja, hogy valós életbeli problémákra adnak egyszerű megoldásokat, tervezőasztalok mögött kiötlött általánosítások helyett. Sikerességükhöz hozzájárult, hogy az emberi munkaidőt csökkentik a gépi munkaidő helyett, hogy mélyen nyílt forrású megközelítésen alapulnak, hogy a gondosan őrzött nyelvi mag körül szabadon hagyott modulok virágozhatnak és hogy több platformon is elérhető a nyelvi motor.

A siker okait követően David rátér az ideális környezetekre, ahol a dinamikus nyelvek igazán jól érzik magukat. Ilyenek a szkript feladatok, a gyors prototípus készítés, lazán csatolt rendszerek kiépítése, vagy az üzleti logikai szint megvalósítása. Természetesen olyan esetek is vannak, amikor általában nem érdemes dinamikus nyelveket használni, mint például a nagy számításigényes illetve hardverközeli feladatok, vagy a kis memóriával rendelkező környezetek problémái.

Ha ennyire jók a dinamikus nyelvek akkor mégis miért nem használják őket szélesebb körben? Említhető a nagy marketing költségvetéssel rendelkező háttércégek által fejlesztett technológiák elnyomó hatása, a dinamikus nyelvek fejlesztőinek rossz kommunikációs képessége, de a széles körben terjedő hibás feltevések okozta kár is. A szerző számos rossz beidegződést próbál részletesen tisztázni.

Vannak ugyanakkor olyan problémák, melyeket nem érdemes vitatni, ráadásul a nyelvek jövőjét nagyonis meghatározhatják a jövőben. Ilyen a "stratégiai jövőkép" hiánya az adott nyelvek körül, hiszen ahelyett, hogy a jövő problémáira adnának megoldást, a jelen gondjait segítenek orvosolni. Szintén érdekes probléma a formális pénzügyi fedezet hiánya, amely ellenére mégis szárnyalni képesek a dinamikus nyelvek. A hiányzó marketing és az esetleges jogi labilitás is gondot okozhat a nyílt nyelvek számára.

David a jövőre is több érdekes jóslatot ad, de ezt nem árulnám el, javaslom inkább a dokumentum elolvasását...