プログラミングの本質を学ぶ ~おすすめ本 Java編~
わく☆すた,美月です。
マスタリングTCP/IPの話にトラックバックをいただいた,もぼなもな書房さんのコンピュータ書籍の批評を見ていたら,結構面白かったので,はまっていろいろ読んでました。Javaの本の書評とか,「そうそう!」と激しく同意したりしてます。^^;
ということで,そういえば,プログラミング言語の話をしばらくほったらかしにしてたなー,と思い出したので,今日はプログラミングのおすすめ本のお話し,Java編です。
個人的には,Javaは,マスターするのにとてもやることがいっぱいある言語だと感じてます。PHPはPerlなら,本1冊読んで大体書き方を学べば,ひととおり使えるようにはなります。でも,Javaは,ひととおり使えるようになるまでに,3冊ぐらいは最低必要だなぁ,と感じてます。
基本情報技術者試験でJavaを選択する場合には,Javaの文法だけでなく,「オブジェクト指向の理解」が必須です。継承やポリモルフィズムを多用したプログラムが出てくるので,自分でクラス図がイメージできることが肝心です。もちろん,実務でも,Javaのベースにあるオブジェクト指向を理解するのは不可欠です。
あと,GoFなどのデザインパターンやStrutsなどのフレームワークも理解して。。。なども考えると,やることは際限なく増えていくような気がします。ただ,作りたいプログラムを自分で作れる,っていう最低限のレベルになるまでの道のりが長いのがJavaだなぁ,と感じてます。「やさしいJava」や「Javaの絵本」などは,とっつきやすいですがプログラムを組めるようにはならないです。(最初の文法を知るためだけには,使えるとは思いますが。。。)
ということで,「Javaでプログラムが組めるようになる」ことを目標にした,おすすめ本です。
個人的には,Javaの本で一番のお気に入りは,Head First Java 第2版―頭とからだで覚えるJavaの基本です。ただ,この本は日本語版では誤植が多く,賛否両論あるので,合いそうだと思ったら使ってみてください。「プログラミングを楽しく,本当に身につくように」学ぶには,最適な書だと思いますが,事例にふざけたもの(「離婚の危機!」とか「JVMとコンパイラの座談会」)が多いですし,型にはまって学びたい人には,向かないかもしれません。
きっちり文法からカバーした上でJavaを学びたい人には,試験対策書ですが,Sun SJC-P認定ガイド 310-055対応が一番使えると思います。SunのJava認定の本で,私がSJC-Pを取るときに使った本ですが,試験対策書で感動したのは,この本が初めてです。決して,易しい本ではないですが,「この機能ってこういうためにあったんだー!」と,Javaの深い理解が得られる本です。
そして,私が一番驚いたのは,上記の2つの本(Head First JavaとSJC-P認定ガイド)が同じ作者(Kathy Sierra と Bert Bates)であること。この2人の書は,レベルが高い上に,本当の学びとは何か,ということを深く考えて作ってあるので,すごくおすすめです。
その他のおすすめとしては,Javaで陥りやすいポイントをマスターする本です。Java謎+落とし穴徹底解明 (標準プログラマーズライブラリ)は,Javaでのポインタの使い方など,実際の動きを理解できます。「Javaではポインタはいらない」など,なんとなく思っていた常識が,覆される本です。あと,Javaの格言―より良いオブジェクト設計のためのパターンと定石も,実際にJavaプログラムを書くにあたっての定石が詰まった,とっても深い本です。このあたりは,ホントの初心者向けではないので,Javaの勉強はしたけど,なんとなくよくわからない。。。と,不全感を感じている人に,強くおすすめします。
ひととおりJavaで書けるようになったら,Effective Java 第2版 (The Java Series)や増補改訂版Java言語で学ぶデザインパターン入門などで,さらにレベルアップしていきましょう。Javaに関しては,ひととおり学んだ後に,中級,上級の知識はいろいろあります。
Javaは,知れば知るほど,面白くなる言語だと思います。ぜひ,楽しんで,少しずつ学んでいってみてください。