著者が運営するサポートページです。
|
トップ | 自著紹介 | 正誤表 | 関連情報 | セミナー |
(以下は日経ソフトウエア誌の2005年6月号に寄稿した記事のオリジナル原稿です。この文章はムック『正しく学ぶソフトウエア設計』にも掲載されています。)
『オブジェクト指向でなぜつくるのか』は"2冊目に読んでほしいオブジェクト指向の本"として書きました。つまり、読者の第一のターゲットとしては、何らか方法でオブジェクト指向を勉強したものの、よく理解できずに挫折してしまった人を想定しました。これは、私自身が最初この技術をよく理解できず、長い間悩み続けた経験を持つからです。具体的に感じてきた疑問は次のようなものです。
もう1つ陰のテーマとして伝えたかったのは古い技術への敬意です。オブジェクト指向は確かに優れた開発技術の集大成になっていますが、それ以前の技術があってこそ成り立っているものです。
私は20代の頃、よくアセンブリ言語を使ってプログラミングをしました。その当時のデバッグと言えば、A3サイズの連続用紙に印字した16進数のメモリダンプを追いかけるがお決まりのやり方でした。こうした方法は、今の開発環境に比べると非効率には違いありません。しかしそうした経験を積んだことで、"論理がすべてで一切融通が利かない"コンピュータという機械の基本的な仕組みを体で実感できました。とはいえ今の若い世代の方に同じ経験を強要するのは無理な話でしょう。このため、いくらかでも疑似体験になればと思って、機械語から始まるプログラミング言語の歴史を書き、コラムのテーマも「プログラミング昔話」にしました。
また開発方法論やノウハウに関しては、オブジェクト指向以前に登場した優れた技術が実にたくさんあります。こうしたものの代表選手には、ダイクストラの「構造化プログラミング」、デマルコの「構造化分析/設計」、マイヤーズの「複合設計」、「ブルックスの法則」、ロイスの「ウォーターフォール型開発手法」などがあります。こうした技術は、時代を超えてオブジェクト指向全盛の現在でも有用な指針であることを伝えたいと思いました。
執筆に当たって苦労したのは、なんと言っても「なぜシリーズ」の謳い文句である「10年後も通じる"本質"を身につけよう」というコンセプトに合わせることでした。またシリーズの他の書籍と記述のトーンを合わせるため、プログラミング言語の文法やUMLの規則のような、技術の詳細な解説や実践ノウハウは最低限にとどめる必要もありました。
このため詳細に踏み込まないようにしながら、それぞれの技術がいったい何者なのか、なぜ必要なのか、どういう経緯で登場したのかをきちんと掘り下げ、論理的に、しかしわかりやすく説明することに腐心しました。執筆時間のほとんどをこのことに費やした感があります。
私にとって1冊の本を丸ごと書くのは初めての経験だったため、執筆中はとても苦しみました。しかし苦しんだだけに、1つの章を書き終えるたびに大きな達成感を得たことを昨日の出来事のように思い出します。そして、この本を書いたことで、オブジェクト指向という技術に関する考えを体系的に整理することができ、何よりも自分自身にとって良い勉強になりました。しかも思いもかけず、多くの方に手にとって読んでいただけたこともあって、私にとっては何物にも代え難い素晴らしい経験になりました。
トップ | 自著紹介 | 正誤表 | 関連情報 | セミナー |