2006年03月10日
川俣晶の縁側ソフトウェア技術雑記total 7424 count

実は昔から持っていたメイヤー先生の『オブジェクト指向入門』

Written By: 川俣 晶連絡先

 最近檜山さんが書いている「牛はワカラン」ネタ(あるいは共変・反変ネタ)には興味をもって見ていたのですが。

 以下を読んで、いきなり「えっ!?」と思いました。

■[雑記/備忘]メイヤー先生は比喩が大好

より

昨日のエントリーで:

メイヤー先生の著書にはお世話になりました。随分と影響も受けました。

と書きました。メイヤー先生の著書を具体的にいえば、『オブジェクト指向入門』(翻訳書 アスキー出版局 1990)と『プログラミング言語理論への招待』(同 1995)です。『入門』、『招待』という題名の割には大部で本格的な教科書です。残念ながら、現在はどちらも入手困難なようです。

 アスキーから1990年に出ている『オブジェクト指向入門』という本なら持っているはずだ……。読んでないけど。

 まさか、それと関係ある話題が延々と続いていたとは。

 ってか、そもそもこの本がEiffelを作った「あの」メイヤー先生の本だとは全く認識していませんでした。

じっちゃんの名にかけて謎を解け、真実はいつも1つ! §

 この本は、どのような位置づけの本か全く知らずに持っていたことになります。

 なぜ認識していなかったのでしょうか?

 本当にこの本か確認するために、慌てて出してみました。書名からして持っていると御利益がありそうだったので、仕事場の本棚に昔から大切に入れてあったのです。

 表紙を見てすぐぴんと来ました。

 とても単純なことだよ、ワトソン君。

 表紙を見ると、日本語訳であるにもかかわらず、以下のように表記されています。

BERTRAND MAYER著

 どうやら、MAYERがメイヤーだということが直感的に理解できなかったようです。

 ついでにいえば、Eiffelというキーワードは鮮明に印象づけられていたものの、当時メイヤー先生の名前はあまり深く印象づけられていなかった可能性があります。(より正確に言えば、Eiffelも名前をよく知っていただけで、それが何かは分かっていなかったかもしれない)

なぜこれが手元にあるのか §

 私がMSKKをやめて、株式会社ピーデーの役員として入ったときに、株式会社ピーデーの設立者である故・近沢隆光が「これは持っていると良い」と何冊かの本をまとめてオーダーしました。

 『オブジェクト指向入門』は、その中の1冊です。

 というわけで、私自身が買おうと思って買った本ではないので、内容を吟味したこともないし、風評をチェックしたこともありません。

 ただ、何冊かの本の中に入っていたというだけのことです。

なぜ読まなかったのか §

 その当時、オブジェクト指向プログラミング(OOP)に興味がない、ということはありませんでした。むしろ、世間の平均水準を遙かに上回る興味を持っていたと言えます。

 その理由は、C言語+SDKベースのWindowsプログラミングが複雑さの壁に阻まれて破綻状態だったという背景にあります。

 (もう1つ、私が自力で試行錯誤してCによるPoor Man's OOPに似た領域に到達していた話がありますが、これは長くなるので割愛!)

 実は、この段階で最も大きなハードルとなっていたのは、OOPとは何かを理解することではなく、Windowsアプリケーションを作成できるOOP言語処理系を見つけ出すことだったのです。

 この当時、Zortech C++ 2.0, Zortech C++ 3.0, MIWA C++, Borland C++などをいろいろと試しまくっていました。

 この段階で私がOOPに期待していたことは、カプセル化による複雑度の低減にあり、それはさほど難しい話ではなかったと言えます。(継承は脇役でしかなく、モデリングという発想もおそらくは無かった)

 この遍歴は、最終的にMicrosoft初のC++処理系であるMicrosoft C++ 7.0の登場によって終止符が打たれますが、それはこの文脈上はまだ未来の話です。

 そのような立場から見たときに、私がこの本を読まなかった理由は明白と言えます。

 この本をパラパラっと見たときに、私が悩んでいた問題に関連する話題がほとんど見えなかったからです。

 つまり、私の悩みが「動くかどうか」という実装レベルの問題に終始していたにも関わらず、この本は論理設計的なレベルの話題を多く扱っていたということですね。

 ちなみに、当時の私は、MIWA C++のサポートパソコン通信ホストなどに書かれたSmalltalkerのC++プログラマが書いたものを読んでOOPを勉強していましたが、最終的には「実装上の要請から不可避に要求される形としてのオブジェクト」が拠り所になっていたような気がします。ゆえに、論理設計的な話題との接点が希薄で、読んでもほとんど分からない……というか読み続けられなかったような気がします。

今なら読めそう §

 でも、入手困難な名著が手元に既にあったということに気付くのは、ちょっと嬉しいかな。

 たぶん、今ならこの本を読めそうです。

 本来あるべき正しいOOPを実現したと称するJavaが、現場レベルでは著しく役に立たない場面が多い(むしろC#の方が遙かに役立つ)という問題について考えているうちに、論理的な視点からOOPを見る視点が自分の中にも出来てきたような気がするので。(これは、ソースコードの抽象化レベルを上げることの長所と短所という現在抱える重大問題につながる)

 うん、そういう意味では反面教師としてのJavaの存在価値は、自分にとって大いにあったと言えるかな。まあ、終わったことだから言える綺麗な言葉ではありますが (笑。

Facebook

キーワード【 川俣晶の縁側ソフトウェア技術雑記
【技術雑記】の次のコンテンツ
2006年
03月
13日
メイヤー先生の『オブジェクト指向入門』を拾い読みする
3days 0 count
total 3651 count
【技術雑記】の前のコンテンツ
2006年
03月
09日
描画システムの座標変換機能と、ビットマップ、文字描画の制約の思い出
3days 0 count
total 3834 count

このコンテンツを書いた川俣 晶へメッセージを送る

[メッセージ送信フォームを利用する]

メッセージ送信フォームを利用することで、川俣 晶に対してメッセージを送ることができます。

この機能は、100%確実に川俣 晶へメッセージを伝達するものではなく、また、確実に川俣 晶よりの返事を得られるものではないことにご注意ください。

このコンテンツへトラックバックするためのURL

http://mag.autumn.org/tb.aspx/20060310141746
サイトの表紙【技術雑記】の表紙【技術雑記】のコンテンツ全リスト 【技術雑記】の入手全リスト 【技術雑記】のRSS1.0形式の情報このサイトの全キーワードリスト 印刷用ページ

管理者: 川俣 晶連絡先

Powered by MagSite2 Version 0.34 (Alpha-Test) Copyright (c) 2004-2018 Pie Dey.Co.,Ltd.