torutkのブログ

ソフトウェア・エンジニアのブログ

Java読書会6月からの本の投票

Java読書会BOFの書籍選定

Java読書会BOFでは、月1回の読書会を開催しており、5月で「Effective Java第3版」をほぼ読了し、6月からは新しい本の読書会を開始します。現在読書会のWebサイトでWeb投票実施中(5月26日〆切)です。

Javaの技術動向は変化が大きくなってきている

Javaは、2017年9月に Java SE 9がリリースされ、そこではModule Systemが導入されています。また、Java SE 9以降はこれまでの2~3年に1回のメジャーバージョンアップをリリースする形態から、半年毎にメジャーバージョンアップをリリースする形態に変更され、新機能が早い段階でリリースされ利用可能になっています。2018年3月にJava SE 10、2018年9月にJava SE 11、2019年3月にJava SE 12と半年毎にバージョンアップされています。

一方で安定的に利用したいユーザー向けには3年に1回、長期サポート版(LTS)を提供するようになりました。最初のLTS版は、2018年9月のJava SE 11です。これは少なくとも次のLTS版まで(則ち最低3年間)はセキュリティパッチを含む修正版が提供されます。LTS版以外は、次のバージョンがリリースされるまでの間(則ち半年間)だけは修正版が提供されます。

余談、有償化騒ぎについて

このLTS版については、Oracleが提供するOracle JDKについては商用利用(個人利用および商用利用でも開発・試験・デモは除く)が有償となっているので、すわJavaが有償化だと一部で騒ぎになっていました。しかし、Javaはずいぶん前からオープンソース開発(OpenJDK)となっており、特に最初のLTS版であるJava SE 11ではOracle JDKに搭載されていた商用機能(Flight Recorder等)がOpenJDKに搭載され、Oracle以外にもいくつかの組織からLTS版が無償提供されています。

読書会で読みたい本が・・・

このようにJavaの進化は短い時間で次々行われてきていますが、日本語での書籍でJava SE 9以降の新しい機能を詳しく解説しているものはほとんど出版されていません。

となると、Javaの新しい技術を読みたいとすると洋書を選択することになります。過去読書会でも幾度か洋書を読んできたので、それほど敷居が高いということはありませんが、洋書ウォッチャーが少ないのでこれぞという本を選ぶのが大変です。

Java Platform Module System(JPMS)の本

Java SE 9で導入され、なかなか骨のある(移行が大変、理解が大変)割にプログラミングの改善にはあまり寄与していない(APIの実装隠蔽や、ソフトウェアのライフサイクル上はとても重要な)技術がJPMSではないでしょうか。

JPMSを扱った書籍を調べてみると、次が見つかりました。

最初の本はまだ未完です。2番目以降はJava SE 9リリース時期(2年前)に出版されているので、ちょっと古いなというのと、ページ数がやや多いが難です。
(洋書の読書会の場合、事前に粗く訳してくるので、ページ数が多いとそれだけ大変)

ということで、JPMS本は今回は推薦せずにおこうかと思います。