大人になりたくない

プログラミング系。最近は主に vvvv 。

オブジェクト指向の次に来る(かもしれない)「ジェネレーティブプログラミング」

掃除をしたら出てきたノートにこの本についてのメモがあり、結構興味深い内容だったので紹介。

ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)

ジェネレーティブプログラミング (IT Architects’Archive CLASSIC MODER)

ドメイン工学を元に、DSLメタプログラミングを使って再利用可能な基盤を作るための話。

メモに書かれていた、オブジェクト指向分析/設計手法の欠点。

・再利用のためのエンジニアリングと再利用を使うエンジニアリングの区別が無い
ドメインを範囲づけるフェーズが無い
・1つのアプリケーション中における可変性のモデリングと複数のアプリケーション間における可変性のモデリングの区別が無い
・可変性のモデリングに置いて実装に非依存な手段がある
・可変性のモデリングが不十分である

その理由として、

・同一の可変性は、別のモデルでは違う可変性メカニズムで実装されるかもしれないため、可変性をより抽象的に表現する必要がある
・再利用可能なソフトウェアのユーザは、利用できるフィーチャと可変性についてより明確かつ簡潔な表現が必要
・なぜあるフィーチャや可変点が、その再利用可能なソフトウェアに含まれるのか。それに答えられなくてはいけない。

この後に、この問題に対する手法や、実装寄りの話、再利用についての色々なアプローチが書かれていたはず。
発売された5年くらい前に読んだのであまり覚えていないが、今読んでもまだまだ使える新鮮さを感じる。
現在ではこの問題に対してアジャイルでマネジメント的に解決する方向に行っていると思うが、こういう未来もあるのかもしれない。

また、先月くらいに書かれた、良くまとまったスライドを見つけたので貼付けておく。

今になって一部では流れが来ているのかもしれない。