今日は久々に土曜出勤してソフトつくりしてました。来春の納期に向けて授業の合間で受託研究のあるソフトを開発しています。
このソフトウェアは実際に現場のオペレータに使用していることを目指しています。顧客満足に配慮すればするほど汎用化(理論)からは遠ざかります。
論文や研究のネタを探すときには一般的事例を抽象化する方向に思考が働きます。一方、実践的な開発(要は大多数のソフトウェア開発会社のお仕事)はその逆で、どんどん縁(理想と現実の差)を埋める方向に広がっていきます。
理想的には両者を同時に考える頭を持っていればいいのですが。。。かなり精神的に辛い。もちろん、相互に影響するので両方を考えることは決して悪いことではありませんが。
コンパイラやインターネットなどコンピュータシステムの中で良し悪しを評価できる研究テーマではおそらく、そうした問題はないのでしょうね?もちろん、その世界では別の次元で大変さがあるのでしょうけど。
日本の多くのソフトウェア企業が受託開発をメインにしていると思います。受託開発は情報を公開しにくい上、上記のように多くの努力を「縁(理想と現実の差)を埋める」ことに使うはずです。これはもちろん意義があることですが論文化しにくい。そうした背景がアカデミックと現場との乖離を生んでいるんだな。。。と、このソフトを作りながら感じています。