2012年2〜3月は、luvitやサーバサイドのLuaが大きく前進した。
luvitがRackspaceの状態モニタリングAPIのサーバで使われたり 、
wikipediaのテンプレート処理がLuaにスイッチしたり 、
というニュースがあった。Luaは文字列処理がそんなに速いわけではないので、
wikipediaはなんで?と思ったけど。
Luaの、他のプログラムに組みこみしやすい/速い という特徴が生きて、
Googleのトレンドやtiobeを見てもじわじわシェアを伸ばしている。
2~3月は、MoaiSDKがbetaを脱して1.0になったり、速いペースで進歩が続いている。
Luaベースのもので、いま実績を激しく伸ばしている重要なゲーム開発エンジンは、
- MoaiSDK : 全体がCPAL1.0, 2D+3D
- Love2D : 全体がGPLv3ベースのLGPL(2007), 2D
- CoronaSDK : ソース非公開, 2D
- Codify : ソース非公開, 2D, iPad用のProcessing的位置づけ
自分としてはMoaiSDKが完全なOSSで3Dもカバーしているのでいちおしだ。
一方で、LuaJITの速度に衝撃を受けてLuaを使うようになった人たちの中で、
やっぱりLuaに完全に満足できなくて、もっといいのが可能なはずと考える人が増えてきた。
自分もそうだ。とくにLuaの配列の添え字が1からはじまるのは、
グルー言語としての使いやすさを損ねていると思う。
Luaは学習用/研究用から始まったが、いまではグルー言語としての地位が主なのだから、
その変化に合わせて後方互換を捨ててもいいとおもうのだが。
で、LuaJITやpypyをもっと良くしようとがんばっているプロジェクトはいくつもある。
candor言語はその一つ。
これはLuaに似た型がない言語だけど静的にコンパイルしようとしていて面白い。
これから派生したnodeぽい処理系のcandor.ioも始まっている。
他にもmocaccinoではHipHopみたいに、CoffeeScriptをobjCに静的に変換しようとしている。
ただこれは、速くはならないかな。
githubではいろんなアイデアが日々試されていてほんとに面白い。
堅牢で高速なサーバを最速で作る、というニーズは巨大で、市場価値もあるだろうから
これからもどんどん出てくるにちがいない。
こんなことをしてる一方で、2〜3月はC++を使う「外に出せない昼の仕事」を80%ぐらいやっていた。
もっとパブリックマンになりたい。
さて4月は、メインのプロジェクトで猛烈にLuaコードを書くのだ。
それを http://journalizer.net/kengonakajima で公開する。
猛烈にコードを書く雰囲気が伝わってくる感じのジャーナルになれば良いのだが。
やったことの履歴をいくつかtwitterから拾っておく。2〜3月は、個数は少ないが、ひとつひとつの粒がでかかった。
webクリップなどをGoogle+からtumblrに移転した。 http://kengonakajima.tumblr.com/
MockCity更新: 腹が減ったら建設作業ができない(動画)
MockCityというゲームの開発をサブプロジェクトで始めたので公開した。
node-mysqlをLuvitに移植した。luvit-mysql JavaScriptをほぼダイレクトにLuaに置き換えようとした。だいたいうまくいった。
emacsの標準lua-modeは luvit で node のようなコールバック多めのコードを書くのに向かないので、なおした。 /lua-mode これは使いやすくて、安定している。osxだけではなくてubuntu10のサーバにも入れて定常利用している。