メタプログラミングと内製回帰の組み合わせは強力
メタプログラミングで生産性が超あがるよ!という話の件。
システム開発を生活の糧としている自分にとって、よくわかる話です。
ただ、実際にメタプログラミングが強く利いてくるのは、
数億〜数十億円規模の大規模プロジェクトじゃなくて、
ユーザ企業内での内製だと思う。
SIerが入る大規模プロジェクトだと、プログラミング以外の要素が
多すぎて、メタプログラミングがもたらすメリットがあまりない。
システム開発工程の中で、ボトルネックはプログラミングではないよ、という。
(要件定義とかコミュニケーションロスが顕在化するのがプログラミング工程で
あることが多いから、そう思っちゃうけど)
それどころか、デメリットである
「高位ロジックが、高度であればあるほど、最終的に何が起こるのかが、わからなくなってしまう」
(by id:higayasuoさん http://d.hatena.ne.jp/higayasuo/20090208/1234058491)
という問題が顕在化してくる。
で、これはきっと「プロジェクトマネージャ」な人に嫌われる。
一般的なPMは、「わからないもの=リスク=避けるべきもの」と思考するから。
一方、内製ならそもそもそこまで規模は大きくない*1。
しかも、要件を作りながら考えてちょっとずつ修正できる。
なんといっても、契約とかお金が絡んでないからね!
そんな条件のもとでは、プログラミングを劇的に効率化する
メタプログラミングの技術は利いてくると思うのです。
レッツメタプログラミング!レッツ内製回帰!
via http://d.hatena.ne.jp/kwatch/20090207/1233976024
*1:もちろん例外はあると思いますよ