仕事が忙しいのと目の疲れもあって夜にブログ更新せずにすぐに寝ちゃう日々でした。
最近読んだ本の中からJAVAプログラミングに関するいい本を2冊紹介。
どちらの本も一年位前に同僚から英語版を借りて読みましたが、どうしてもわかりづらい表現がいくつかあったので日本語版を買ってしまいました。
翻訳はかなりよく出来ているので、あえて英語版を買わなくてもいいと思います。
どちらもJavaの基本的なことは一通り知っている人が対象で、ただ動くコードから優れたコードを書ける人になるために、そして曖昧な理解をハッキリさせるのに必ず役に立ちます。
入門に関する本は数多とありますが、意外と中級者向けの本というのが見当たらないので、設計に携わる人ならば必携の本といえそうです。
Effective Java プログラミング言語ガイド
Joshua Bloch,ジョシュア・ブロック,柴田 芳樹
Java言語の設計にも携わったJoshua Bloch が57の格言という形でコーディングについてのアドバイスをまとめています。
単純にStringで+を使わずにStringBuffer.appendを使うといった基本的なことから、serializeやinterfaceの適切な使い方など、入門書では殆どと触れられないところまでこの本はきちんと指摘しています。
Javaプログラマーといっても範囲が広いので、この本に載っていることがどこまで理解できるかどうかでその人のスキルが分かると思います。半分も分からない状態だったら設計には向かない状態といえます。
私自身この本を読んだことで、自分のコードに結構影響が出ました。この本に書いてあることを意識していないでプログラミングしていた事が恥ずかしい位です。。。
Java Puzzlers 罠、落とし穴、コーナーケース
ジョシュア・ブロック,ニール・ガフター
同じ作者の本で、今度はパズル形式で95問出してあります。
サンプルコードを見てどう動くか推測するのですが、予想通り上手くいかないものばかり。いずれもJava言語の癖や引っ掛かりやすい点が原因で、その理由を丁寧に説明してくれます。
前述のEffective Javaを読んだ後の方が、推測できるし、深く理解できて楽しめると思います。いずれにしても、サンプルを見ながらなので頭に入りやすいです。
はじめまして。
『Effective Java 第2版』は、年末までには発売となりますので、こちらも読んで頂ければ良いかと思います。『Effective Java』と『Java Puzzlers』の正誤表は、私のホームページにありますので、参考にしてください。
http://www001.upp.so-net.ne.jp/yshibata/
柴田さん>
うわー、翻訳者直々にコメントいただけて嬉しいです!
この2冊の翻訳はご自身で原著を読まれて選んだのでしょうか・・?お世辞抜きに素晴らしい選択だったと思います。
会社に英語版が置いてあるので、時々見比べながら、「こういう意味かー」と英語の勉強がてらにしています。特にJava Puzzlerの原書はかなりわかりづらかったので、日本語版でかなり助かりました。
Tigerも柴田様の翻訳なのですね。丁度Tigerの日本語版も買おうと思っていたので脱帽です。
Effective Java第2版も発売され次第読んでみます。
ぜひこれからも名著を翻訳してください。
私も今までにまだ翻訳されていない良い本を何冊か見つけていますので、今度HPなりで紹介したいと思っています。
Tigerとはどの本を指されているのでしょうか?『Java 2 Standard Edition 5.0 Tiger』でしょか?こちらは翻訳ではなく、私が執筆したものです。こちらは用語に間違いがあるので、正誤表を参考にしてください。
申し訳ないです。仰るとおり、『Java 2 Standard Edition 5.0 Tiger』のことです。Java Puzzlersの中でこの本の紹介があったのを覚えていて、こちらも翻訳されたのかと思い込んでました。