staticおじさんに見るOOPの成功

staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて」を読んで、ふと思った。

オブジェクト指向プログラミング(OOP)が登場したころによく言われたことがある。

End User Computing。

難しい処理はプログラマが作ってオブジェクトの中に隠ぺいする。アプリケーションを作るにはオブジェクトを組み合わせるだけでよい。したがって、エンドユーザは自分で望みのアプリケーションを簡単に作成できる、というものだ。

staticおじさんの話を読むと、それはある程度実現されていることがわかる。エンドユーザコンピューティングの理想では、クラスを作るのはプログラマであって、エンドユーザではない。

もちろん、staticおじさんはプログラマではない。SEというのはプログラマではなく、エンドユーザの代理人だから。SEという職種に各業種の業務知識が求められることからも、それは明らかだ。

プログラマとエンドユーザという区分で考えると、SEはエンドユーザであり、staticおじさんはSEなのだから、クラスなど作る必要はない。staticおじさんはプログラマが作ったクラスを組み合わせてアプリケーションを作り、業務に役立てればいい。OOPにしっくりくる必要などなく、知らないうちに恩恵を受けることができる。

これこそまさにOOPが目指していたものだ。staticおじさんの出現はOOPの成功を象徴するもので、大変喜ばしいことなのである。

ただ、本当のエンドユーザが使うにはOOPは複雑すぎた。汎用性の低いクラスは流通していないので、自作する場面も多い。そんなわけで、SEという、つなぎ役がいまだに必要とされている。プログラマの次の大仕事は、SEを不要にすること。それこそがエンドユーザが本当に望むことでもあろう。