Magnolia Tech

いつもコードのことばかり考えている人のために。

WEB+DB PRESS Vol.132 『オブジェクト指向神話からの脱出』は、長く生き残った技術テーマを振り返る良い特集

初めて「オブジェクト指向」というキーワードを聞いてからだいぶ長く経っていて、「これはオブジェクト指向らしいコードなのか?」みたいな見方をすることも無くなって久しい今日この頃ですが、WEB+DB PRESS最新号Vol.132 の特集が『オブジェクト指向神話からの脱出』という興味深いテーマだったので読んでみました。


そういえば、20世紀の終わりから21世紀の初めの頃にかけては、オブジェクト指向以外にも色々な開発方法論とそれを支えるツール群が出てきては消えていった時代だった記憶があります。今ではまったく聞くことも無い設計方法論や、ツールがソフトウェア開発の問題への画期的な解決策と宣伝されていました。

で、たいていそのツール費用が高額な上に、更にトレーニングを受けないと使いこなせないし、更にそのトレーニング費用が高額だった...印象。

あ、そういえば4GLと呼ばれる言語群も有りましたね。

個人的には、ソリューションとコンサルテーションを売りたいのかなぁ…本当に顧客が欲しかったものが巨大なツール群を使いこなすことで得られるのか……それよりビジネスロジックを実現する仕組みとコードを考える方に注力した方がいいんじゃないか?UMLを詳細に書いたからって、何にもわからないよなぁ…みたいなことを考えていました。


そんな色々な開発方法論のうち、プログラミング言語と密接に結びついて生き残ったキーワードの一つが「オブジェクト指向」ということでの特集。前半はプログラミング言語におけるオブジェクト指向機能のおさらい…カプセル化や、継承などの基本が解説されます。ここまでは機能の解説なので、良いも悪いも無い話。

第3章「オブジェクト指向の周辺技術」では、オブジェクト指向方法論、分散オブジェクト技術、オブジェクト指向データベースなどに話題が広がっていきます。過去の振り返り、という意味では非常に興味深い内容でした。

で、いよいよ第4章「オブジェクト指向機能の現在の使い方」から最後の第5章「オブジェクト指向言語の変化」と、特集の核心に進んでいきます。ここはぜひ読んでみてください。


と、ここまで読んできて、果たして現代に今からプログラミング言語を学ぶ人は「オブジェクト指向」という言葉にそこまで惑わされる場面があるのかなぁという疑問はちょっとあります。

古代、良い(と考えられる)ソフトウェア開発の概念に何でも「オブジェクト指向」というキーワードがくっついていた時代と違って、現代では一つのプログラミング言語や、開発方法論、ミドルウェアもさまざまな概念が混ざり合って実現されていて、あまり分かりやすいキーワードで説明しようとしても無理がある、というか、何も言ってない、みたいな場面が多くないですかね。

(特集の最後にもそういう話が書かれているんですけどね)

まぁ、とはいえ、完全に忘れ去られて、誰も使わなくなった開発方法論に比べれば現代においても、その概念がダイレクトに導入されているプログラミング言語が実用的に使われていて、こうやってその概念の実践について議論がされるだけでもイイ話だなぁと思った次第です。

というわけで、現代に生きる人は、過去に囚われ過ぎず、「今の課題」を解決するために必要なことを学び、実践していけばいいんじゃないかなーと思った次第です。というわけで、第4章、5章あたりを読んで、がんがんコードを書いていこーぜー!!


追記

そういえば、かつての定番のネタとしては、オブジェクト指向に入門するために、バートランド・メイヤーの「オブジェクト指向入門」を最初に買ってしまい、挫折する、というのがありましたよね。2冊ともずいぶん前に買って、未だに全部読んでない…

原題の「Object‐oriented software construction」を「入門」っていう書名にしちゃいけない気が…