Effective Java 第2版

Effective Java 第2版 (The Java Series)

Effective Java 第2版 (The Java Series)


読了。第1版を呼んでなかったのだが2版が出たのを機に読んでみた。
序文を引用してみる。

もし、同僚が、「私の配偶者、今宵、今日、家で、普通でない食事を製造する。あなた来る。」とあなたに言ったとしたら、3つのことが思い浮かぶでしょう。3つ目は、あなたは食事に招待された。2つ目に、英語はあなたの同僚の母国語ではない。1つ目にかなりの困惑。
外国語をあなた自身が学んだことがあり、教室の外でその言語を使用したことがあれば、習得しなければならない3つの事柄があることを知っています。どのようにその言語が構成されているか(文法)、話したい物事をどのような名前で呼ぶか(語彙)、そして、日々の事柄を話すための慣習的で効果的な方法。教室では、最初の2つだけが教えられることが多いです。そして、あなたが自分の話を理解させようとすると、ネイティブスピーカーが笑いをこらえようとしているのに気づきます。
プログラミング言語でも全く同じことです。中心となる言語を理解する必要があります。すなわち、その言語は、アルゴリズム的、関数的、あるいはオブジェクト指向的ですか。語彙も知る必要があります。すなわち、標準ライブラリーはどのようなデータ構造、操作、それに利便性を提供していますか。そして、コードを構築する慣習と効果的な方法に慣れ親しむ必要があります。プログラミング言語についての本は、最初の2つだけを説明していることが多かったり、使用方法については部分的に議論していたりします。そうなっている理由は、おそらく、最初の2つは書きやすいからでしょう。文法と語彙はその言語だけの属性ですが、使用方法はその言語を使用している社会の特性です。
(中略)
本書は、3番目の要求に取り組んでいます。つまり、慣習と効果的な使用方法です。

そゆー本です! 個人的にはジェネリックと例外のところがなかなか面白かった。久々にJavaおもしれーと思わせてくれた本。