Az Aikido programozási nyelv

Bevezetés

A nyelvről dióhéjban

Az Aikido egy interpretált, dinamikusan típusos, objektum-orientált programozási nyelv, többszálúság használatát támogató könyvtárakkal. Általános célú, de leginkább prototípus készítésre és scriptelésre használják. A Sun Microsystemsnél David Allison fejlesztette és adta ki 2003-ban nyílt forrással. Szintaxisában leginkább a C++-ra és a Java-ra hasonlít, funkcionalitásban pedig a Python, Perl, JavaScript nyelvekre. Az Aikido program szerkezete hasonló egy Pascal programéhoz. Blokkstrukturált, a függvénydefiníciókat a programon belül bárhol elhelyezhetjük - nem csak a legfelső szinten mint C-ben, és nem csak egy osztályban mint például Java-ban. A szintaxis C++-szerű, a szokásos operátorokkal és szintaktikai elemekkel (például kapcsos zárójeleket - { és } - használ a blokkok törzsénél a Pascal-ban vagy Ada-ban használt begin/end helyett).

A név eredete

Az Aikido név a Japán harcművészetre utal, ugyanis a nyelv - ahogy az aikido - számos különböző elemből tevődik össze, mindenből a leghatékonyabb részt választva. Az első ötlet a nyelv nevére a Darwin volt, de ez annyira széles körben használt, hogy nem volt elérhető a Sun számára.

Mire használjuk?

Alapvetően az Aikido általános célú nyelv, de néhány dologban jobb, mint másokban.

Gyors prototípus-készítés

Amikor először írunk meg egy programrészt, hamar szeretnénk megbizonyosodni arról, hogy az elképzelésünk valóban működik. Ha például C++-ban vagy Java-ban fejlesztünk, rengeteg idő megy el arra, hogy a kódunk hiba nélkül forduljon - és túl sok dologra kell figyelnünk (típusellenőrzés, típuskonverziók, stb). Az Aikido (többé-kevésbé) leveszi a vállunkról ezt a terhet. Gyorsan megírhatjuk és letesztelhetjük az algoritmusunkat. A fordítás és linkelés hiánya miatt amint elhelyeztünk pár hibakeresésre vagy nyomkövetésre szolgáló állítást a kódban, azonnal futtathatjuk. Ha a program a kívánalmaknak megfelelően fut (persze lassabban, mint ha például C++-ban írtuk volna), akkor könnyedén átírhatjuk az eredetileg használni kívánt nyelvre.

Hálózati programozás

A hálózati kommunikációt sok nyelv csak külső könyvtárak formájában támogatja. Az Aikido-ban beépített hálózati támogatást kapunk. Olyan könnyedén kommunikálhattunk hálózati kapcsolaton keresztül, mintha csak egy fájlt olvasnánk vagy írnánk.

Többszálú programozás

A hálózati programozáshoz hasonlóan a többszálú programok írása sem triviális minden nyelvben. Az Aikido-ban a szálkezelés támogatása is természetes nyelvi elem.

Scriptelés

Az Aikido jól használható scriptek írására. Hatékonyan használhatjuk a magas szintű nyelvi elemeket, amik ritkán találhatók meg scriptnyelvekben.

Szövegfeldolgozás

Stringeket kezelni Aikido-ban nem nagy ördöngősség. A nyelv magába foglalja a reguláris kifejezések kezelésére szolgáló eszközöket. A stringek és vektorok darabolása is rugalmas.

Mire NE használjuk?

Az Aikido nem egy C++ pótló. Azok a sajátosságok, amelyek alkalmassá teszik az Aikidot a gyors prototípus készítésre, lassúvá és megbízhatatlanná teszik a programunkat. Ezért nem alkalmas egy megbízható szoftver elkészítésére. És persze az interpretált jellege miatt lényegesen lassabb egy C++ programnál (kb. 100-szor).

Implementációk

Elsősorban forráskódként elérhető. Az egész C++-ban íródott, és elérhető Linux, Mac OS X és Solaris rendszerekre. Jelenleg nincs Windows támogatás.