みんなのJava

2020/03/06発売の「みんなのJava」という書籍を @yamadamn さんから献本いただいたので、早速読んでみました。

著者は @kis さん、 @shinyafox さん、 @khasunuma さん、@yamadamn さん、 @jyukutyo さん、@kencharos さんです。著者たちは各分野の大御所であり、色々なところで各々が担当された章の話をされていたり、ブログに認めてらっしゃりしています。そのため、話を聴いたりブログを読んだりしたことがある方なら、「あ、あのことね」という感じで知識の整理をしつつ読むことができるでしょう。対して最近のJava界隈の動きをご存知ない方、Java初心者の方々にとっては、今のJavaの全体感を把握するために最適な書籍の一つとなるでしょう。

とはいえ、限られた紙面ではどうしても各章とも入門的な内容にならざるを得ないため、もっと深いことを知りたい場合には、著者のスライドや講演動画、ブログ、さらにはOracle Code OneやJVM Language Summitの動画などをチェックなさることをお薦めします。

各章の感想は以下の通りです。あくまでも個人の感想です。

Java SE

  • とにかく、読みやすい。わかりやすい。まずはこの章だけでも読むべき。
  • Java 9以後の動きをわかりやすく説明していたので、Java 8で知識が止まっている人は最新の動向を知る有用な文章だと思う。
  • Java SEの現在活動中のプロジェクトは多々あるが、その中でValhallaが一つの枠で取り上げられていたのは興味深かった。
  • できればRecordとInline Typeの関連に言及してもらうとよかったかも、と思ったけど、Valhallaを知らない人にとっては「何のこと?」ってなる可能性が高いからやむを得ないのかなー。

JDKディストリビューション

  • いまだに「Java有償化」という言葉に踊らされている人々は必読(踊らされている人は真実よりあのメディアを信じていると思われるので難しいかもしれないけど)。
  • JDKといえばOracle/Sun JDKもしくはRed HatのLinuxディストリビューションに含まれるOpenJDKだけ、と認識していた人にとっては、これほど多数のディストリビューションが出ていることに驚くだろうし、それに伴って、JDKの選択の自由があり、選択によって生じる責任を考慮して、自プロジェクトにとって最適なJDKを選択する必要があることに気付いて欲しい(難しいかな…)。

Java/Jakarta EE

  • 前提知識のない人にとってJakarta EEの経緯と歴史(J2EE、Java EEの説明)、ならびに各APIの説明が日本語の文書として存在するのはよいことだし、知識を持つ者にとっても知識の整理のために有用だと思う。
  • ただ、そちらに紙面を割きすぎじゃないかなー、と思った。もっと実装の話があってもよかったかもしれない(紙面の都合や役割分担のためだと思うけど)。
  • (たぶん見落としだと思うが)説明のない略語が唐突に現れたり、存在しないイベントの話が出たりしたのが気になった。

MicroProfile

  • Java/Jakarta EEと同じ流れ。知識の整理にはよいと思う。
  • ただ、Java/Jakarta EEの章と同様、「このように書くしかないのかなー」という感じはある。どれかのAPIを取り上げ、実装について記載があってもよかったかも。でもそれをやるとフレームワークの話になるので、役割分担上の問題もあるし、紙面が足りなくなるのは明らかだし。。

GraalVM

  • Graal/GraalVMで最初に知っておくべきこと(JITコンパイラ、Polyglot、Native Image)の説明があったので、「Graal/GraalVMって何?」という方にはよいのでは(ただ著者としては書きづらかったんじゃないかなー)。
  • Truffleに触れる必要があったかどうかは色々な意見が出ると思うけど、多数のGraalVM上で動作する言語はTruffleベースなので、個人的には触れてよかったと思う(もっと言うともうちょっと深くなってもいいかな、とは思ったが、それをすると紙面が足りない)。
  • 欲を言えば、種々のプロジェクトが活発に活動している(Project Espresso、GraalWASMなど)ので、そのあたりも触れて欲しかったけど、これも書き出すときりがないのでなんとも。。

開発フレームワーク

  • 3種類のフレームワーク(Micronaut, Quarkus, Helidon)をベンダーの立場でなく、開発者の立場で日本語で説明しているのはあまりなかったので新鮮だった。
  • 一部表現上「?」と思うところがあったり、既に触ったことがあったり、実際の開発に使っている人たちにとっては、各フレームワークのチュートリアルやってみた、的な部分が「?」と思わされたりするかもしれないが、前提知識がない人たち向けに説明し、やってみようと思わせるためには必要な内容だろう、と感じた。

いろいろ書きましたが、とにもかくにも、書籍として世に出ること自体すばらしいことで、著者のみなさまには感謝しかありません。出版してくださり、どうもありがとうございました。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください