kagamihogeの日記

kagamihogeの日記です。

Java: The Good Parts

ここのところ若干 Java から離れ気味だったこともあり、若干出遅れ気味だが話題になっていたので手を取ってみた一冊。前書きにもあるとおり、本書は Java のベストプラクティスや技術的な知識を提供する類の本ではない。どちらかというと、技術書というよりは読み物に近い部類と言える。ページ数も 200 たらずでサクッと読める。知ってる部分については飛ばし飛ばしでいけば、半日か、早い人なら数時間足らずで読み終えらるんでないでしょうか。

さて本書の内容はというと、タイトル通り Java 言語の良いところとは何か、について書いてある。Java を数年使用したことある人ならば、そのほとんどはごく当たり前のことしか書いて無いことに拍子抜けするんじゃないか、と思うくらい、フツーのことが書いてあります*1。ざっくり言ってしまえば、我々 Java 使いが普段フツウに享受している Java の言語機能が良いパーツなのだ、と本書は言っているワケです。

勿論、個々の章について異論や、それは良いパーツだとはおもえねぇー! という人も結構な数居ると思う。実際、本書が出版された直後あたりの時期は、blog やら twitter 界隈やらで色々興味深い議論が巻き起こっていた(例外は特に顕著だった感じ?) なので、Java の良さとは何なのか、を考える切欠を与えることを狙ったであろう本書の目的は達成されたんじゃないでしょうか。それに、オープンな場で議論が起こること自体、Java を取り巻く技術者コミュニティは比較的健全な状態にあるんじゃないかなぁ、などとも思う。

また、本書のアプローチとして優れているなぁと感じたのは Java の言語機能に焦点を絞った点。なぜ我々は Java を使うのか、Java の良い点とは何か、を考えるとき、どうしても IDE や周辺ツールもごった煮で考えがちである。よって、言語としての Java の良い点を考える基点としての一冊、という意味では中々良い線突いているのでは、などと思うのでした。とはいえ、本書もラストに一章を割きエコシステムと題して Java 周辺のツールに触れている。が、その他の章は、おおむね言語としての Java に話題を限定している*2ので、色々異論はあろうものの、概ね Java の言語機能のみに焦点をあてて Java の良い点を語った本として良く出来ていると言っていいでしょう。

また、読み物として面白くなっているのは、随所で Java のそれぞれの特徴がどのような歴史的背景を持っているかが書かれている点にある。これは技術的にも中々面白いところで、背後にそういう思想があることを知ると、より一層理解が深まることがあるので、読んでて損はないし何より面白い。たとえば RMI の章なんかは、当時の分散コンピューティング事情と Java 、それにプロセス間通信も絡めて中々に興味深いことが書かれている(紙幅そのものはそんなでもないので、そこまで深く突っ込んだことが書いてあるわけではないが)

そんなわけで、Java をそこそこ知ってる人には色々とたのしい一冊です。

Java: The Good Parts

Java: The Good Parts

*1:個人的には、RMI をほとんど触ったことが無いのでこの章は興味深かったですが。

*2:JVM の章はビミョウなラインであるものの、まぁ今のところは言語としての Java の一部としてもいいんじゃないかしらん