MOP (MetaObject Protorol) 欲しい話の補足

誤解のないように補足.

言いたいのは,千葉先生のOpenC++はなんで放置されてんの? ってことだ.

千葉先生が放置している理由は,ご本人の口から明らかになっている:

当時 Smalltalk のようにクラスオブジェクトを取ってきて動的にメソッドを付け加えられるようにする研究をしていました。それを C++ でやるためのシステムが OpenC++ だったんです。アカデミアの研究者がほとんどですけれど、産業界にもユーザがいまして、長いこと保守していました。

そのうちに、 C++ にもテンプレートが導入されて、対応するためには全部書き直さないといけなくなりました。でも、全部書き直したとして労力に見合うだけの研究成果が出せるかというと、出せないと思ったのです。いつも言っていることなんですけれど、私たちは職業研究者で、ちゃんと研究成果をださなければなりません。研究成果の見込めないソフト開発は、仕事ではなくて遊びです。遊びは大切ですが、遊んでばかりいるわけにはいきません。

これにいちゃもんを付けてる訳じゃない.上の言葉はものすごく直球ど真ん中に真っ当で,さすがものを考えて飯を食ってる人だなーと.
私が文句を付けていたのは,世の中が放置していることに対してね.テンプレートは,ある種のcommon caseをそれなりによくとらえているので,カジュアルに使うには便利なものだとは思う.しかし先が見えたどん詰まりの技術なので,何もかもそれでこなそうと血道を上げるのは無駄.より一般性の高いメタプログラミングをいかに処理系に負担をかけず標準化するか,早いとこそっちを考えないと.Variadic Template とかさぁ... 展開ルーチンをフルスペックのC++で書けるようにすればそんなこちゃこちゃしたものは要らないだろ.