「Javaヂカラ -Java 11 の新機能やOracle Code One 2018 発の…-」イベント開催レポート
2018年11月16日、東京渋谷の「TECH PLAY SHIBUYA」にて、セミナー「#Java最新動向 -Java 11 の新機能やOracle Code One 2018 発の最新技術トレンドを一気にキャッチアップ-」を開催いたしました。
リリースから20年以上が経過した今も、多くの技術者が使用する開発言語であり続けるJava。2018年9月にはJava SE 11がリリースされ、10月22日~25日にはサンフランシスコで「Oracle Code One 2018」が開催されたこの時期、「SE 11にバージョンアップすべきなのか?」「これまでのバーションのサポートはどうなるのか?」「Javaが有償化される噂は本当?」と様々な疑問を抱いている方も少なくありません。
「Javaヂカラ」と題したセミナーの第2回目となる本セミナーでは、こうしたJavaの最新情報や技術トレンドをキャッチアップすべく、講師に日本オラクル株式会社 オラクルユニバーシティビジネス推進部の岡田大輔氏をお招きし、セミナー前半ではプログラミングを中心に、セミナー後半では今後のJavaのリリースサイクルを中心に解説していただきました。
新しいバージョンの書き方をしっかり押さえ、プログラマーとしての生産性を高める
プログラミングの話が中心となるセミナー前半、「現状、無償で使用できるバージョンはSE 8とSE 11のふたつであり、サポートが切れているSE 9とSE10は使えません。Javaは、バージョンがどんどん上がっていきますので、様々な機能が入ってきます。そうした機能に対して、プログラミングはどのように変わっていくでしょうか」と問いかける岡田氏。
「Javaのプログラミングの仕様として大きく変化したのはSE 5とSE 7、そして最もインパクトがあるのがSE 8となります。さらに、SE 9になると大小合わせて90くらいの新機能があります。全部覚える必要はありませんが、Java9で入ってきた新機能であるモジュールシステムは、JDKの仕組みが全く違うものになりますので、確実に押さえていただきたい機能です。プログラミングで使う使わないに関わらず、SE 9にバージョンアップするのは避けて通れません。また、Java SE 9から後方互換性が完全ではなくなるので、捨てるAPIや機能が出てきます。今の資産をJava SE 11に上げるということは、なくなっている機能をちゃんと把握しておかないと、乗せた瞬間に動かないということが発生する可能性が高くなる」と、Java SE 11に至るこれまでのバージョンアップの変遷を細かく解説してくださいました。
その後は、「みなさん、Java書けますか? ここでは今時のJavaというのを紹介したいと思います」と岡田氏の話はプログラミングの各論に。「今時の書き方をしましょうと言った時に、文法を知ってる、APIも知っているとなると、書く量がぜんぜん違う。プログラマーとしての生産性の差が圧倒的に開いてしまいます。Javaのバージョンごとに適した書き方を確認しておく必要があります」と語りながら、各バージョンにより異なる最適なプログラミング事例をいくつも紹介してくださいました。
「Javaはバージョンごとにプログラミングの仕方が違います。その時には正しいプログラミングでも、時代が変わってしまうと古くなってしまう場合もあります。新しいプログラミングにした方がよいケースもありますので、そこはみなさんの選択になります。
選択した結果、古いやり方を選ぶのはまったく問題ないですが、知らなくて古い方を選ぶしかなかったというのは、もったいない。そのためにも、なるべく新しいバージョンの書き方をしっかり押さえていただきたいと思います。せっかくSE 8を使っているのであれば、せめてSE 8までの書き方はしっかりキャッチアップして、利用できるものは採用していただくのが良いのではないかなと思います」と岡田氏はセミナー前半をまとめました。
今後はロングターンサポートリリースと6ヶ月サイクルのフィーチャーリリースを展開
Javaの歩みとJDKのリリースサイクルの解説が中心となるセミナー後半では、「JDK 9以降、Javaのリリースモデルはいわゆるメジャーリリースという考え方より、フィーチャーリリースと呼ばれるリリースの仕方に変わります。今後は6ヶ月というサイクルを守り、リリース時に機能に入らなかった場合には、次のリリースで搭載するように変更しています。ただし、開発者の方からすると6ヶ月でバージョンが上がってしまうのは大変です。そこで、特定のバージョンに関しては長い期間使えるものを提供します。これがロングターンサポートリリースというものになります。オラクルでは、ロングターンサポートリリースを3年周期で提供します。今回のSE 11がロングターンサポートリリースになります。なので、SE 11が出るとオラクルJDKは3年間無償アップデートが入ります。そしてSE 17が出たところで、SE17にロングターンサポートがスイッチします」と、まず今後の展開について教えていただきました。
さらに、「Javaの有償化という噂がありますが、結論から言うと、有償化してないです。今でもフリーです。今まで通り、最新版の無償更新、無償アップデート、例えばオラクルの出してる無償アップデートは入手していただくことが可能ですし、無償期間に入手したJDKはそのまま使えます」と、参加者の多くが抱いている疑問に答える岡田氏。今後はフィーチャーリリースをして提供するものはオラクルJDKではなく、オープンJDKを出すようになる。新しいオラクルJDKは有償化され、サポート契約を結んでいるお客様への提供のみになる。無償で使われる方は、オラクルJDKではなく、オープンJDKを使っていただくことになるが、Java SE11以降はオラクルJDKもオープンJDKもバイナリとしては一緒になるそうです。
また、多くの開発者にとって気になるSE 8からSE11へのアップデートについても、そのメリットやデメリットを踏まえ、有償・無償を含めたさまざまなケースを解説してくださいました。
セミナーの最後に、岡田氏からJavaに携わる参加者へメッセージをいただきました。「Javaは他の言語に比べてとても長い期間、多くの場所で使われているので、廃れる可能性はほとんどありません。Javaを使わずにシステム開発が全部できるという世界は当分来ないと思います。
新言語の方がいいですよ、というならそれでも構わないですし、流行りの言語に飛びついて、その瞬間で収入的にも最大パフオーマンスを得るというのもひとつの選択の仕方です。Javaはそうした尖った言語ではないけれど、需要はたくさんありますから、その中でエンジニアとして相応のパフォーマンスを出していく。安定しながら自分のスキルを上げて、どこかで勝負する機会を作る。そのJavaをコアとしてしっかり押さえていただいた上で、プラスアルファとして他の言語にも手を広げて行っていただくといい感じになるんじゃないかなと思います。Javaをしっかり使っていただいて、活躍していただきたいと思います」
セミナー後の質疑応答や懇親会でも、岡田氏に熱心に質問する参加者の姿がみられ、もっとJavaを学びたいとする参加者のみなさまの高い意識が感じられる充実のセミナーとなりました。
「ANKET」では、ITエンジニアの皆様に様々な情報を提供すべく、今後もこのようなイベントを企画してまいります。皆様のご活用、ご参加をお待ちしております。
登壇者紹介
日本オラクル株式会社 オラクルユニバーシティ
ビジネス推進部所属
岡田 大輔 (おかだ だいすけ)氏
ミドルウェア関連製品のインストラクターや製品導入コンサルタントを経て現職へ。
Oracle Technology 製品に関する教育サービスの推進担当として、研修・認定資格の企画やセミナー実施などの普及活動に従事。
Oracle 認定 Java 資格試験の監修者のひとりでもある。
このレポートのイベント概要はコチラから