スッキリわかるJava入門 第3版

スッキリJava3版で対応「しなかった」ものたち(発売2日前)

2019年のJavaの話題と言えば

いよいよ明後日に発売が迫った「スッキリわかるJava入門 第3版」について、思いつきで始めた「ひとりカウントダウン」。ぞうきんのように絞っても絞っても、もう記事にできるようなネタがでてこない著者の中山です。(5日目の記事はこちら)。

苦し紛れに、もう仕方ないので、逆に「スッキリJava3で対応しなかったもの」を書こうと思い立ちました。

スッキリわかるJava入門第3版で見送ったこと

ラムダ
スッキリわかるJava入門 実践編で触れているラムダ。今回、コレクションとあわせて入門編に取り込むことも一瞬考えましたがやめました。あまり活用されていない現場もあるほか、ちょっとパラダイムが違うので「腰をすえてじっくり学びたい」ポイントとして、やはり実践編で扱いたいかなと思った次第です
hashCode
Hash系コレクションと深い関係があるhashCode。これについては従来、実践編で「toString, hashCode, equals」の三兄弟で丁寧に扱っていて、入門編に取り込む候補ともなりました。しかし、こちらも少し腰を据えて学びたい重要事項であることと、それ以上にLombokと併せて紹介すべきだと思ったため、実践編にとってあります。
モジュールシステム
Project Jigsawにより実現されたモジュールについては、入門編の段階ではメリットを感じにくいということで、こちらも紹介を避けました。唯一、javadocを見るときにjava.baseというモジュール選択が必要なことを記述していますが、それ以外ではモジュールという概念自体を隠蔽しました。
Java13で「プレビュー」として取り込まれた機能
最新のJava13で取り込まれたswitch式(JEP354)や、ヒアドキュメント(JEP355)は、入門編での紹介がピッタリの内容だとは思うのですが、プレビューがついているので、まだやめておきました。

他にもいろいろあるのですが、なんといっても「悩んだ上で見送った」感がもっとも強いのは、JShellだったかもしれません。

JShellはJavaにおける「式の評価」を試すときにはその手軽さが活きます。しかし、メソッド宣言やらクラス定義を伴うような使い方をしようとすると、途中でタイプミスするとゲンナリするほど後が面倒なことは、REPLの類いを使ったことがある方は共感なさると思います。

そして、入門者こそ、タイプミスが多いんです
また、「あ、いけないいけない、先にこのメソッド呼んでいないといけなかった」みたいに、上の行に戻って書き換えたくなることとかも入門時は多いんですよね1

結局、「テキストエディタを使った普通の開発手法でよくね?」という匂いがすぐしてくるほか、通常のJava開発とはパラダイムが違うところもあるので、混乱を回避する目的でも掲載を見送りました。

スッキリわかるJava入門は、Javaに入門する方が最初に手に取られることを意図している本です。
既に700ページオーバーの太っちょ体型なので、上記のとおり掲載を見送るものもありましたが、逆に言えば「ぜひどんな人にも学んでいただきたい、その価値がある」と著者が思えるものだけが掲載されています。

はじめての学び手の方への「ぴったり」を9年間追い求め続けて完成した、スッキリJava第3版。どうぞよろしくお願いします!

  1. 経験をつむと頭の中に処理の流れがすぐ出来るので、この手の書きながら手戻りはぐっと減るのですが...

-スッキリわかるJava入門 第3版
-,