設計思想
いま弊社では自社製品の開発ならびに受託開発両方で使うためのフレームワークの整備を進めています。利用できるフレームワークは世の中にたくさんあるんですが、どれもあまりかゆいところに手が届かないため、全部独自に作ることにしました。
で、そうなると問題はどういう風に設計するかです。アプリケーションレベルでもそうですが、フレームワークレベルになると開発に対する思想のようなものが色濃く表れてきます。
どこまで自動化するか
どこまで柔軟性をもたせるか
どこまで作業を楽にするか
こういったことは、プログラムに限らず昔からずっと議論されてきたことです。
たとえば有名なところでは、旅客機開発にあたりエアバスは人間より機械を信じ、ボーイングは機械より人間を信じるという違いがあるそうです。
もちろん、プログラミングに関して同じ二元論が通じるとは思いませんが、ある程度はそういう側面が出てきます(そもそも、信じられるかどうかよりも、手間と実現可能な処理のバランスの問題になるでしょうか)。
そのあたり、社内でも意見が分かれる難しい部分なのですが、なんとかかなりいいものができたように思います。
これからはそれをベースに、色々作っていきます。

