注目★★★★★Lobsters
「高尚な設計」がコードを遠ざける理由
30秒で把握
- 1Joel Spolsky が抽象化過多の Architecture Astronauts を批判
- 2Napster は P2P 構成より曲名検索と即時再生が利用価値を形成
- 3Java・XML・SOAP・.NET は新機能と宣伝文句を分けて評価
要約
Joel Spolsky は、抽象化を重ねすぎて現実の問題と実装から離れる「Architecture Astronauts」を批判した。ファイル送信やWebリクエスト、オブジェクト呼び出しを「messaging」と一括りにすると、意味が曖昧になり、何を作るべきか見失うと論じた。NapsterではP2P構成より、曲名を入力してすぐ聴ける機能が利用者を引きつけたが、設計者はP2Pという構造に注目し、より一般的な製品でその中心機能を欠落させた。Java、XML、SOAP、.NETなどの技術も、問題を解決する実用機能ではなく、壮大な宣伝文句で語られがちだと批判した。新しいアーキテクチャは、以前できなかったことを可能にするかで評価すべきだと主張した。
あなたへの影響
日本のエンジニアは新しい設計思想や技術を採用する前に、利用者の課題と従来技術との差分をコードで検証すべきです。
推奨:抽象化が実装や成果から離れると、技術選定の誤りにつながり得るため、具体的なユースケースを評価軸に置いてください。