Java学習ロードマップ

karariさんのお願いをきっかけに、自分なりに「Javaを自己学習するならこう進めれば良いのではないか」というロードマップを作ろうと思う。今回のはまだ序盤って感じだけど、これだけでもボリューム的にはかなりのものになるんじゃないかな。

まず手始めにJavaのスタート〜基礎くらいまでが知りたいと言うのなら、これがお薦めかな。この2冊で、Javaの基本的な考え方】がわかると思う。筆者の結城浩さんがHPを作って本のサポートなどもしているので、心強いよ。…まあ、最近は結構してる方が多いけどね。
余談だけど、個人的にはJavaを勉強するときに最初から「オブジェクト指向」を教えるのはトータルで考えると効率が悪いと思う。Javaを勉強し始めてforとかifとかを覚えて「ためしに組んでみる」のに、オブジェクト指向は難しすぎる気がするから。(「オブジェクト指向」から解説している本も、実際サンプルプログラムで組むのはやっぱりforとかifとかからなんだな。)そういうforとかifみたいな基本構文はmainの中で全部書いて試せば良いと思うし、オブジェクト指向を理解するのはそれから、Javaに慣れてきた…抵抗が無くなってからのほうが良いように思う。あんまり早くオブジェクト指向尽くしにしてしまうから、苦手意識が芽生えてしまって「Javaオブジェクト指向だから判らない」とか言われてしまうんじゃないかな。
この本は上巻で基本構文を学んで下巻でオブジェクト指向という、俺の考えている通りの構成になっている。

改訂第2版 Java言語プログラミングレッスン(上)(ISBN:4797332115)
改訂第2版 Java言語プログラミングレッスン(下)(ISBN:4797332123

次に、Javaって標準ライブラリ(普通はJ2SEかな?)に元から付属しているもの(CとかC++で言う関数みたいなものかな?)が何百何千とあって、当然それを知っていたほうが効率的にプログラムが書ける。元からライブラリにあるものを自分で作ってたら無駄だからな。その為に逆引きみたいな本が一冊あると便利だと思う。【こんなことがしたいなら、これを使え】みたいな。
慣れてきたらjavadocJavaTM 2 Platform, Standard Edition, 1.4.0 API 仕様)っていう、これまた標準で用意されているドキュメントを見ればいいんだけど、最初は何をどう使って良いか皆目見当がつかないからな〜 (^^;;
そこで、こんな本があると便利だと思う。どちらかと言うと最初から読んでいくんじゃなくて、したいことがあってやり方が判らない時に辞書的に使うイメージで。俺もFileを扱う時は大体これを読んでたなあ。でもこれを一から読むと、はっきり言って眠い(笑)

JavaプログラミングBlack Book 2nd Edition (asin:4844316117

今回の最後として。同じことをするコードを書くのでも、Javaお約束みたいな定石・Tipsを知っていると、開発効率や実行速度が上がることが多い。
そこで、基本がわかったところでこの辺を攻めたいところ。この2冊(1冊でも)を読めば、ただ「できる」だけじゃなくて、「良いコーディング」ができるようになるんじゃないかな。

Javaの格言―より良いオブジェクト設計のためのパターンと定石(asin:4894711877Javaの鉄則―エキスパートのプログラミングテクニックasin:489471258X)
Effective Java プログラミング言語ガイド(asin:4894714361

ここまでやれば、Javaの基本的なコーディング方法、クラスライブラリの使い方はわかると思う。次は、実際にJavaで何をするかによって変わるんだけど…そこらへんはまた気が向くか、karariさんからの要望があれば。


基礎からわかる サーバー・サイドJAVA

基礎からわかる サーバー・サイドJAVA