普通の入門書と違うところ。それは「なぜ?(Why)」を追求するところにあると思います。事実がこうなっている理由を説明しているので、理解できればかなりの力になると思います。
文章の言い回しなど、著者の特徴が非常によく出ているので、好き嫌いが分かれそうです。内容も「仕組み」を理解したい理工系の人向けになっています。基本的な文法などは載っていません。Javaのヒープの使い方、ガーベージコレクションの動作の仕組み、ポインタがないといううそを暴く(Javaはポインタしかない言語だ)など、一般の入門書では解説されていないような観点から本書はできています。
人によって好き嫌いが分かれると思います。人になんでと言われて意気揚々と説明してあげたくなるような技術者肌の人は本書を快く受け入れられると思います。
対象読者は初級者〜中級者。多少Javaの仕組みを知っている人が望ましいと思います。一度の読みですべてを理解するのは難しいかもしれません。何度も読んで完璧に理解すると、Java博士と呼ばれるようになる日も近くなると思います。
特徴
Javaは巷では「ポインタがない言語」だと言われている。しかしそれはうそで、実は「ポインタしかない言語」である。
こんな感じで、ものの仕組みを知りたがる理工系の技術者に、非常に興味のそそる内容がつめこめられています。たしかに、知らなくてもプログラムは組めるし、質の良いコードも書けます。でも知らないと気持ち悪いという気分もあるはずです。
例えば、「Javaのメモリモデルはどうなっているのだろうか?」という疑問が浮かんだときに、「まあいいや知らなくても」となる人は、たぶん本書とは無縁の人でしょう。「ん?どうなってるんだ?」という気持ちになった人は本書を買いにいくべきです。
入門書として読むのではなく、知識書として考えるといいと思います。一度の読みですべてを理解することが難しいので、何度も読んで、Javaの真髄を見極めてください。面白いと思います。
参考
- Javaプログラミングを極めたい人に贈る
- Javaのスレッドの仕組みを極めたい人に贈る
- Javaのネットワークプログラミングを理解したい人の贈る
- JavaのGUIモデルを理解したい人に贈る
- Javaのグラフィックス機能を理解したい人の贈る