ソフトウェア技術の限界


<2007.07.12(Thu)>
 入社した当時はそもそもプログラミング、コーディングに興
味があって(=知的刺激に満ち溢れた仕事であると感じて)こ
の業界に入ったわけだが、こうして日記で政治・哲学話ばかり
してると言うことは、今や自分の仕事に知的刺激を感じていな
い、と言う裏返しだと言える。とすると、何が今のIT技術に
知的好奇心を萎えさせるものがあるのだろうか。
 一番はやはり社内で地位が上がってきて、管理的な仕事を任
される(部下を使うとか、顧客と折衝するとか、業務提案をす
るとか)と言う点だろう。ただ、これは別にIT業界に限った話
ではないので、重要なポイントではあるが、ここでは議論しな
い。
 で、実際にIT技術の中で知的好奇心を萎えさせる代表は、ズ
バリ、オブジェクト指向と言う思想ではないだろうか。手続き
型言語からエンジニアをやっていた人間の多くがオブジェクト
指向に対するとっつきにくさを感じている(もちろん自分もそ
の中の一人だ)。
 早い話が、手続き型言語の方が人間のリニアな思考回路(時
間に対して線形な思考回路)に合っていると言うこと。オブジェ
クト指向は扱う対象(抽象的にはオブジェクト、具体的にはイ
ンスタンス)をパッケージ化する、と言う、何やらマジカルな
手法でロジックを積み上げていく。ITシステムと言うのは作っ
てそれで終わりではなく、何度も保守修正が入るがために、そ
のようなノンリニアな構造を要求する。
 若くて、最初からオブジェクト指向で鍛えられてきた人には
自然に理解できるらしい。だが「言語」と言うものがリニアな
思考回路の人間に寄って発明されたものである以上、オブジェ
クト指向の開発でそもそも「言語」で書くのは限界があるので
はないだろうか。今流行りのフレームワークとやらも、基本的
には言語で書かれたモジュールを再利用するためのツールであ
る。そうではなく、根源的にプログラミング“言語”からの脱
却を図らないと、ハードウェアの進歩にソフトウェア技術者が
付いていけなくなる日が来るのではないだろうか。