11:50

C++で、複数の引数を持つテンプレートクラスをマクロ引数に渡そうとすると、テンプレートクラスの引数の区切りに使用しているコンマが、マクロ引数の区切りとして使用されるのか。ぐわー、困った! とりあえずtypedefしてコンマなしで記述したら回避できたけど、スマートじゃないよなー。

11:52

そもそもC++でマクロを使うこと自体がスマートじゃないし(型安全のためにも、マクロ定数ではなくenumかconst変数、マクロ関数ではなくinline関数を使おうぜー)、まあ仕方ないか。Boost.Preprocessorに含まれているBOOST_PP_COMMAを使えばマクロ引数にコンマを使えるけど、これもスマートじゃないよなあ。

12:25

BOOST_PP_COMMAがBOOST_PP_IFの引数に使えないっぽくて困ったけど、BOOST_PP_COMMA_IFで代替できた。

13:39

「そもそも」とか言うならC++自体がスマートじゃないんだよもう。言語仕様として複雑すぎる。テンプレートを使ったメタプログラミングとか確かに記述量が減ってスマートだけど、複雑すぎて習得の難易度が高いしデバッグするのも面倒。まあでも、C++0xが早く普及すればいいなあとは思う。

13:54

組み込みソフトウェアやゲームの開発環境でもPythonRubyみたいな軽量言語が主流になるとうれしいんだけど、そういう未来はちょっとなさそうだよなあ。あとはD言語とか流行ってくれるといいんだけど、さすがにそれも期待できないし。10年先に主流になっているプログラム言語って何だろ。

14:00

組み込み環境向けのPythonバイトコード実行環境として、「PyMite」なんてのがあるのな。実行速度とかは問題になりそうだけど、もしPythonバイトコードが組み込み環境で動くようになったら、なかなか面白そう。

15:01

ゲーム開発だと、メインはC/C++で一部にLuaPythonといった軽量言語を使うような開発スタイルをときどき聞くけど、このスタイルってあんまり普及してないのかな。AIやUIのように仕様を頻繁に変更・調整する部分に軽量言語を使うのはすごく向いてると思うので、普及してくれるといいんだけどなー。