オススメ Java 書籍(中・上級編)

前回のエントリーでは、Java 初級者に向けて僕が自分なりに良いなと思っている本を紹介してみました。

今回は、中・上級者に向けて読む本などを紹介してみます。ただし僕は上級者ではないので、自分が目下勉強していて「あ、これいいな」と思った本やウェブサイトなどを中心に紹介していきたいと思います。

初級者の壁を突き破るためには、何より手を動かしてたくさんのプログラムを書くことが必要だと思います。

それは、いろいろなクラスを使ったりして引き出しをじゃんじゃん増やすというのもひとつの理由なのですが、一番大きなポイントは、アプリケーションを作るときの「めんどくさそう↓」とか「やることがいっぱいありそうでムリ!」みたいに潜在的に思ってしまうような、どちらかというと精神的な壁を突破することが大きなポイントかと思います。

「知識はあるけど、結局自分で一から作ったアプリってサンプル程度のものしかないっす」では、とても中級者とはいえないでしょう。

とはいえ、ただやみくもに手を動かしているだけではダメだと思います。初級者のときには考えの外にあるような知識やテクニックなどを身につけていく必要があります。

そういう意味でドッシリとした実力がつきそうなオススメ本を三冊紹介します。


『実践 Java』は、コレクションフレームワークのデータ構造と用途による使い分けについて、正規表現の使用方法、アサーションの使い方、XML の扱い方、JavaVM のメモリの測定方法など、初級者のときはあまり考えなかった内容にじっくり触れていたので、かなり重宝しました。

『Java プログラミングの処方箋』は、浮動小数点数、書式化、テストの章が特に参考になりました。でも一番感動したのは、最後の方にのっているアスペクト指向の Java 実装である AspectJ の紹介です。新しい考え方に触れたときの感動というのは、喩えようもありません。

また、『Java 言語プログラムデザイン』も素晴らしい本です。一時期はこればっかり読んでいました。僕のリフレクションの知識はここに書いてものと『実践 Java』に書いてあるものがすべてです。

あとは、やっぱり定番の三冊でしょうか。

この辺の本は、あまりに有名すぎるので説明はアマゾンの書評などに譲りますが本当にいいです。これらの本に書いてあることを常に頭に入れながらプログラムを書けたら、もう中級者と名乗っても良いのではないかと思います。このレベルの本は数をこなすよりも、何度もじっくり読んで頭にしみこませる感じの方が良いような気がします。

さて、次は上級者編です。

はじめにも書きましたが、僕自身が上級者ではないので「上級者になるためには?」などと語ることはできません。ただ、個人的には上級者になるためには次の三点が重要かなと思っています。

1) Java 言語に関する正確な理解
2) Jakarta などの引き出しの数(実際に手を動かして弄ってみる)
3) 最新の知識

そんなことを頭に入れつつ、今は次のような本を読んでいます。


あとは書籍以外でいうと、最新技術を追うために、雑誌『JAVA WORLD』や WEB マガジン『Java Developer』を毎月読んでいます。結城さんのとこの「デザインパターン・メーリングリスト」での議論や「Java House メーリングリスト」の過去ログなどは見ているだけでもかなり勉強になります。refactoring.com では、GOF 本の 23 パターン以外のパターンについても数多く紹介されているのでちょくちょく確認してみたり、onjava.com や java.net などの最新情報を追跡したり、といったところでしょうか。

結局は、

こつこつと大量のインプットをしながら、実際に手を動かしてプログラムを作っていく

これしか上級者になる方法はないんだろうと思います。


おまけ

今回はあえて J2EE 系の本は紹介しませんでした。サーバサイドだろうがなんだろうが Java 言語自体に関する理解がしっかりできていれば(もちろん MVC や HTTP などがわかってないとアレですが)、すんなりと理解できると思っているからです。とはいえ良書もたくさんあるので、気が向いたら紹介できたらと思います。たぶんやらないと見た。

コメント

コメントする

目次