無限大な夢のあと

テニスとアニメが大好きな厨二病SEのブログ

【書評】独習Java 第6版( @yyamada ) 

今回もWINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
WINGSプロジェクトの皆様、著者の山田様ありがとうございます。
今回は表題の書籍を献本していただきましたので、こちらのレビューをさせていただきます。

経緯

Javaは新人の頃に5年くらい触って最近のJavaを知りたくなって応募しました。

導入/私の前提知識

Javaは新人の頃に5年くらい触ってからは、Scala、TypeScript、Swift、Kotlin、GolangDartなどと他の言語を6年ほど実務で触ってきたという経験です。

書評

ここから書籍の具体的な内容の書評に入らせていただきます。
端的にいうと、Java8くらいまで触っていてからの進化の歴史を知らなかったのですが、この書籍でキャッチアップできるほどのボリュームと、忘れていたJavaの文法を思い出すことができました。

以下の項目がより参考になりました。

Unicode 10対応、新しいGC、レコード、パターンマッチング、Scoped Values(Incubator)などなど知らない話が多かったです。

  • 4.1.6 Switch式

switchが値を返すならもうScalaじゃん

  • 4.1.6 Switchによるパターンマッチング

もうScalaじゃん(2度目)

  • 9.4 レコード

もうScalaのcase classじゃん(3度目)

当時はわかっていなかったが、書籍を見て内容を理解することができました。Javaにも軽量スレッド入ったのか。

他の観点

他にも新人エンジニアが現場入ったらハマるであろうシャローコピーやディープコピーなどが補足でも入っていたりして、新人エンジニアにも勧められる内容だと思いました。

良い点と悪い点

良い点と悪い点を挙げるとすると以下になります。

  • 良い点

辞書的に扱える内容でありつつも、章ごとに演習がついていて理解度を上げることができる。

  • 悪い点

初学者観点があるとして私が読み落としていなければ、学習のロードマップなどがあれば良いと思いました。理由としては、一定文法がフラットに網羅されているものの、実際で実務で使うにあたってはどの章からおさえるべきで、ここまでの章まで読んだら後はプログラムを書きながら辞書的に使うみたいな幾つくのユースケースが書籍に記載があると良いと思いました。

以上、簡単ではございますが書評のレビューとさせていただきます。