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).
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.
Alapvetően az Aikido általános célú nyelv, de néhány dologban jobb, mint másokban.
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.
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.
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.
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.
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.
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).
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.