銀のフレームワーク

遅ればせながら、

フレームワーク「ごとき」ではゾンビを救えないけど、バカ対策フレームワークがじわじわとプログラマーをゾンビ化することはあるように思います。フォード式のベルトコンベア生産が工場内規律を崩壊させたために、多能工によるセル生産方式が。。。なんて社会の教科書で教わったように思いますが、SI現場でベルトコンベアに乗せるだけを考えるのはどれだけ有効なのか(ま、セル生産方式という単語に反応されちゃうと正しくはないんだけど)。

素人プログラマを前提にしたフレームワークは悪です、誰も幸せになれません。という内容

得体の知れないフレームワークを使わされたことのある人や、お子様でも開発できるような魔法のフレームワークを作るために苦心した人など、立場は様々のようですがこの話題に一物持っている人は少なくないようで色々な意見がトラバされてました。一部紹介

「バカ」という単語の連発に若干戸惑いつつ。。JavaでWebアプリなメジャーどころの人たちがやはり多いみたいですが、curlなんてゆう僻地の僕もいろいろと共感してしまいました。

基本的にはこの手のフレームワークの存在は必要悪かなぁと、特に大手SIerが手がけるある程度規模のある開発の場合はそう思いますが、これについては上に挙げた方々の意見を是非見ていただきたいところとして、
curlについて言えば、フレームワークに関してまた違った厄介な側面があるように思います。

curlはプレゼンテーション層の開発に限られますが、まずそこにはStrutsみたくWebアプリの世界のMVCのように構造を整理してくれるようなフレームワークがそもそもありません。これは単にまだ技術が未熟だからという理由だけでなく、curlがリッチクライアントという飛躍的に自由なプレゼンテーション層を実現できる技術だからです。

自由度の高さは往々にしてフレームワークの目的と相反してしまいます。特にcurlでお子様向フレームワークを作る場合は、前提として自由な土台がある以上、プログラマの作業を単調なものにするためにはできることを限定することに努力の大半を注ぐことになります。しかしこれが今度はリッチクライアントの目的と相反します。柔軟でユーザフレンドリな画面というリッチクライアントの魅力を殺すことに繋がるからです。ジレンマ。。

まぁでも仕方ないです。愚痴りたいのは、ビジュアルなエディタでコントロールドラッグアンドドロップしてパラメータを設定するだけで開発できるようなフレームワーク(とゆうかもはや魔法のツール)を夢見られる一方で、3Dのグラフをマウスでぐいんぐいんできるような画面を思いつかれて、やっぱりユーザの利便性を考えないと、と物知り顔で諭されることです。はい、完全に愚痴でした。。
こんなことを考えていると、id:kuranukiさんの言っていた「ディフェンシブな開発」という話が思い出されました。今回のフレームワークの話題と直接は関係しませんが、行き着くところはやっぱりそこだなぁと

ディフェンシブな開発と真っ向勝負するcurl・・・重すぎorz