感想:Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで
他言語経験者もしくはJava経験者向けの入門書
本書は、古いJavaのスタイルとモダンスタイルを比較しながら、クラス、型、コレクション、ラムダ、Stream API、例外、文字列操作、ファイル操作、日付操作のコーディング方法を説明しています。より実践よりの知識として、オブジェクト指向、デザインパターン、ビルド、各種テスト方法、静的解析、便利なライブラリについても記載されています。分かりやすい説明で、網羅的な情報が取り扱われているため、他言語経験者(開発経験者)であればスッと読み込めると思われます。訳書ではないため、文章がおかしい部分もありません。
対象読者は、以下を想定しているようです。
- Javaの基本は理解できているものの実践的な知識はわからない方
- 以前からJavaを使っているもののJava 8の新たな文法はご存知ない方
- C#などほかのプログラミング言語の経験があり,Javaを新規に学ぶ方
本書の惜しい点は、本書だけではJavaが書ける実感が湧かない事でしょう。本書は写経するタイプではなく、機能説明に必要な最小限のコードを示すタイプです。実際に、書籍で説明されている機能をコーディング・ビルドする際には、独力で頑張らなければいけない部分がどうしても出てきます。多言語経験者やJava経験者であれば対応できると思いますが、全くの初心者が本書のコードをビルドするのは難しいかもしれません。
プログラミング初心者は書いて覚えるタイプの副読本を用意し、多言語経験者はJavaのOSSや実務で練習すると、グッと実力がつきそうと感じました。
Javaは、2020年以降も生き残るのか
本書を読んでいた際に感じた事は、
- Javaより、Kotlinを勉強すべきだったか
- 本書で記載されたモダンスタイルを使用する案件は少なさそう
という2点でした。もっと言えば、「2020年にJavaを学ぶ必要があるか」という事です。
私が大学・大学院の頃(2009〜2015年)、JavaはC#と切磋琢磨しながら生き残る言語の一つとみなしていました。しかし、2020年現在ではJavaのサポートポリシーやライセンスが変わっており、開発言語として採用するにはライセンス面で身構える必要が出てきました。さらに、Javaと相互運用できるKotlinがAndroidで採用された事によって、肌感覚ではJavaを主戦場とする領域は「既存ソフトの開発・運用・保守」だけではないかと思われます。
既存ソフトの開発・運用・保守という観点では、最新のJava環境を使用するとは考えにくいです。そのため、本書で学んだモダンなコーディング方法を活用する場がないかもしれません。そういった意味では、古いコーディングスタイルも併記している本書は、良い入門書と言えます。モダンコーディングに関しては、顧客が環境のアップデートを望んだ場合に触れるかもしれませんが、そのような仕事は確実に辛い案件と予想されます。私のようなJava素人は、可能であれば環境移行案件に関わりたくないです。
将来的にJavaに関わる可能性も低く、勉強のためにJavaを学ぶのであれば、代わりにKotlinを学んだ方が得策かもしれません。
ロシア人と国際結婚した地方エンジニア。
小学〜大学院、就職の全てが新潟。
大学の専攻は福祉工学だったのに、エンジニアとして就職。新卒入社した会社ではOS開発や半導体露光装置ソフトを開発。現在はサーバーサイドエンジニアとして修行中。HR/HM(メタル)とロシア妻が好き。サイトに関するお問い合わせやTwitterフォローは、お気軽にどうぞ。