Rubyがいいなぁと

2006年6月17日
今開発しているゲームエンジンHornetの組み込み用スクリプト言語として何を使おうか迷っている。
一応、候補としてはこんな感じになっている。

・Lua
・Squirrel
・Python
・tjs3(Risse)
・Ruby

LuaやSquirrelは組み込む際にスタックの扱いが面倒臭い。また、組み込み部分のソースの可視性が低い。Luaはライトウェイトだが、OOP言語的な扱いをするには難がある。
LuaもSquirrelも初心者向けの日本語マニュアルが無い。
Pythonは、日本語マニュアルも整備されているし、組み込み向けAPIもしっかりしているし、かなり良い。ただし、インデントが構文に含まれるため、初心者向けとは言えない。ソースの可視性は上がるかもしれないが、インデントが原因でバグを作らないとも限らない。
tjs3(Risse)はまだ開発段階。この中ではJavaに構文が近く、ぷるぷるスキーな自分としては一番組みやすい。ただし、ソースが組み込みの際に色々とコンパイラ依存な書き方をしているため修正が必要だったり、組み込みクラスの作成のためのマニュアルが充実していないなど欠点がある。また、tjs3の解説サイトは当たり前だが無いため(tjs2ならあるが)、この部分も初心者向きではない。
RubyはOOPもできるし、こないだの拡張でメタプログラミングもできるようになったため、tjs2並みのプログラムも簡単に書ける。構文がやや特殊だが、慣れれば使いやすい。ただし、組み込みのためのマニュアルにやや不備があるので、独自に調査しないといけないなど結構組み込みが大変。

うーん、どの言語も一長一短あるんだよなぁ。
個人的には、機能の豊富さと、扱いやすいさからRubyが一押しなんだけれどもPythonも実は捨てがたい(汗
どちらにせよ、デバッグ機能の実装しやすい言語を選ぶつもり。

コメント