いっせいの!!細かなつぶやき

細かなことをぽつぽつと呟いてます

ソフト開発だって製造業なんだよw

趣味のソフト開発を始めるにあたり、いろんな方面のサイトを見て、いろんなフレームワークを広く浅く調べた。
なんかさぁ、

  • 「どのフレームワークにもオブジェクト主体信仰がはびこっていて生産性を下げてるなー」
  • 「ビュー(に混ざったコントロール)に連結するイベントと処理を一括して記述することにより、書きやすく理解しやすくしてるけど、それぞれの依存関係が強すぎて修正が難しいものに人気が集まってるなー」

とか、ちょっとイライラしてるw
正直、いま人気のフレームワークが10年後に主流になってる気がしない。


今作った資産が将来の要求に耐えられなくなったとき、スクラップ&ビルドで作り直す以外に現実的な解がない、そんなフレームワークがいつまでも人気を保てるとは思えない。
そりゃ、フレームワークを使う側は、ドキュメンテーションしたり、モデルデザインで工夫したり、破綻しにくいプログラミングのルールを作ったりして防衛してるに決まってるけど、それの工数をもっともっと小さくしないと生産性が上がらないだろうなぁと思う。


産業革命のちょっと前あたりから、「革命」と呼ばれるほど生産性が上がったのは、分業体制の整備により、「難しいことは簡単になるまで細かく分ける」ことにより、職人にしか出来ない匠の技を普通の工員さんたちの協働に置き換えたことが非常に大きい。


さらに言えば、分業によるメリットは当初、低コストによる大量生産という形で「革命」化したわけだけど、現在はそれがずっと進化し、分業したそれぞれの作業が高度化することで「質の向上」という「革命」を起こしている。
グローバル・サプライ・チェーンなんて、そのもっともなるものだ。


ソフト開発の分野で言えば、ウェブ開発の黎明期にサーバーサイドのプログラミングにおいてCGIしか手段がなかった頃、PHP等による(HTMLが書ける程度のなんちゃってプログラマーを中心に)サーバーインクルードが爆発的な人気を得たわけだけど、サーバーサイドでの信頼性とか生産性が絶対的な価値となった今、主力がJavaなどのより取っつきにくいが信頼性や生産性に優れた言語に取って代わられてる。


おそらく歴史は繰り返される。スマホを主戦場とするアプリやブラウザ上のフレームワークは、まだ黎明期を抜け出していない。
が、いずれ本格的な分業体制に入るし、信頼性も生産性も今とは比べ物にならないくらい要求されるようになるし、いつまでも匠の技に頼れないだろう。


5G以降、つまり10年くらい後には、分業体制とか再生産性とか単純労働性とかに注力したフレームワークだけが生き残ってると思う。