スキル創造研究室 Book Review(2)

オブジェクト指向について学びたい人におくる3冊

萩本順三(豆蔵取締役)
2004/6/18

今回紹介する3冊
Windowsはなぜ動くのか
知った気でいるあなたのための構造主義方法論入門
Javaプログラムデザイン

 オブジェクト指向について学びたい人、学んでいる人に、3冊の書籍を紹介しましょう。この3冊を選んだのは、オブジェクト指向言語だけでなく、それに関連した書籍も読むことで、オブジェクト指向についての理解をより深めることができる、と考えたからです。

  しっかりとしたOSの知識を身に付けよう

Windowsはなぜ動くのか

天野司著
日経BP社
2002年10月
ISBN4-8222-8149-3
2520円(税込み)

 最近のエンジニアはOS(Operating System)の知識をどうやって身に付けているのか心配です。JVM(Java Virtual Machne)がマルチプラットフォーム環境を提供するのに対して、ご存じのようにOSはハードウェアの違いを吸収する基本操作を提供しているソフトウェア・システムです。

 Java言語を学びながらOSの知識をしっかりと習得しなければ、優秀なエンジニアにはなれません。しかし、以前に比べOS関連の書籍は少なくなりました。しかも、最近では、Windowsシステム=OSのようなイメージがあり、その境目が分かりづらくなっています。このような状況の中、OSの知識をしっかり説明しつつWindowsシステムとOSの関係を語る書籍が必要だと思っていたのですが、本書はかなり“いい線”いっていると思うのです。

 OSの基礎知識となるシステムコールやメモリ保護・管理方法、マルチタスキングシステムの基礎知識に加え、Windowsシステム特有のリソース管理、イベントドリブン、プロセス連携について、86系CPUとWindowsの構成ですが、とても分かりやすく説明されています。本書を手掛かりにして、Linuxカーネルの解説本『詳解Linuxカーネル』(オライリージャパン)などを読破すると、さらに知識は深まるでしょう。

  複雑化したオブジェクト指向を思想からヒントを得る

知った気でいるあなたのための構造主義方法論入門

高田明典著
夏目書房
1997年8月
ISBN4-931391-29-X
2520円(税込み)

 ソフトウェア開発を行うわれわれは、何を技術の根幹とすべきなのでしょうか。そのようなことを悩んでしまいそうなほど現在のソフトウェア技術は複雑化し、多様化しています。「この技術をしっかりと身に付けるには、まずどこに手を伸ばすべきだろうか。しかし、そうした技術をどれだけ多く学んでも、薄っぺらな表面的な技術知識しか身に付かないのではないか」

 このようなことで悩んでいる若手エンジニアに、ぜひとも問いたいことがあります。それは、「ソフトウェア開発を行ううえで、何が重要で本質的な技術だと思いますか」ということです。

 つまり10年たっても残るであろう重要な技術、そして重要であり続ける課題は何かということです。私も昔このことを真剣に考え、「複雑なソフトウェアを分かりやすい構造として表現すること」という解にたどり着きました。当時、オブジェクト指向技術書を読んでも薄っぺらの技術のようにしか思えずにようやくたどり着いたのが構造主義という科学です。そして、ソシュール(1857〜1913、現代言語学の祖)から「人はどうやってモノを認知しているのか」というオブジェクト指向の本質を学ぶことができました。本書は、無理せずにこのような世界を少しだけのぞき見ることができる、とても分かりやすい書籍です。

 JavaやUMLを学ぶ皆さんも、ぜひ一度、このような書籍にもチャレンジしてください。

 最後に、このような書籍の利用法について一言。読み始めるとはまりますので、のめり込みすぎないように注意してください。人の思考の世界をオブジェクト指向開発に直接持ち込むのは危険です。思考の世界をソフトウェアで制限なく再現できるという勘違いを招きます。オブジェクト指向開発で行き詰まったときの解法を探る際のツールとして、頭の片隅に置いておく“知恵袋”的知識として有用なのです。

  Javaの基礎知識をしっかりと理解するために

Javaプログラムデザイン 第3版

戸松豊和著
ソフトバンクパブリッシング
2002年2月
ISBN4-7973-1923-2
2940円(税込み)

 最近ではJavaがビジネスアプリケーションで広く利用されるようになり、簡易に習得できる言語としても広まりつつあります。これを可能にしたのは、オブジェクト技術が持つ複雑性をカプセル化可能なコンポーネント技術の力です。

 しかし、その結果としてJavaの基礎的知識を身に付けずに安易にプログラミングを行っている若手エンジニアは少なくありません。本書は、若手エンジニアにぜひとも読んでもらいたい「オブジェクト指向プログラミング」「再利用技術」「デザインパターン」「マルチスレッドプログラミング」などといったJavaの基礎知識がしっかりと説明されている良書です。

 特にマルチスレッドを使った並行プログラミングについては、通常のソフトウェア開発業務の中では、よく理解せずに利用している人が多く、危険なプログラムを書いたり、エンジニアの技量の器を小さくつまらないものにしていたりするのではないでしょうか。

 この書籍を読むとJava技術の奥深さを再認識することができるでしょう。若手エンジニア読者の技術スキルマップに新たな方向性をもたらすことになると思います。

書評にあるボタンをクリックすると、オンライン書店で、その書籍を注文することができます。詳しくはクリックして表示されるページをご覧ください。

そのほかの書評ページ
自分戦略を考えるヒントにしたい6冊
開発現場で悩むエンジニアにおくる6冊
自分のキャリアと仕事のやり方を考えたい6冊
自分を見つめ直すきっかけにしたい6冊
自分戦略研究所、フォーラム化のお知らせ

@IT自分戦略研究所は2014年2月、@ITのフォーラムになりました。

現在ご覧いただいている記事は、既掲載記事をアーカイブ化したものです。新着記事は、 新しくなったトップページよりご覧ください。

これからも、@IT自分戦略研究所をよろしくお願いいたします。