Java 誕生から 25 年、これからの期待と課題

さった5月23日、日本Javaユーザーグループ主催のお祝いイベントがありました。

jjug.doorkeeper.jp

いつもですとこの時期は JJUG CCC というオフラインイベントが開催されますが、今回は社会情勢を鑑みてのオンライン開催となりました。You Tube Live で300名近くもつながることができるのですね。冒頭の総会でも案内がありましたが、今回から私も会計・監査役として関わることになりました。会の運営に少しでも貢献できれば幸いです。よろしくお願いします。

振り返ると、私が最初に Java と出会ったのは 25 歳ごろということになります。1.0 正式版がリリースされるより少し前で、確か alpha だったかと。それから今に至るまで、Java を中心に仕事をしてきました。今のジャスミンソフトがあるのも Java のおかげといっても言い過ぎではありません。とても感謝しています。

個人的には、下位互換性を維持しながら新しい挑戦も続ける Java の姿勢に共感しています。さらに Java は今後のロードマップが示されていること、Java を支えるエコシステムが健在なこと、GraalVMなど新しい方向性も芽生えていること、など好材料に恵まれています。旧バージョンの維持にはコストがかかることから、Java を有償化し、長期間使い続ける選択肢を用意したことも、利用する企業にとってはよかったと考えています。10年先までの EOL が明示されたことで、エンタープライズアプリケーションの入れ替え計画を事前に立案しやすくなりました。

とはいえ、さすがに25年もたつと「Javaは古い」「JavaはCOBOL化した」といった声も聞こえるようになりました。歴史ある言語の宿命とはいえ、気になる点もあります。一つ目は AI 分野ではリードできていないこと。とはいっても機械学習の成果自体は API として公開される時代なので、Java からも利用できるという視点でみると大丈夫です。もう一つは(これが当社にとって重要なのですが)Webアプリケーション開発で Java のアドバンテージを維持できるかどうか、です。

具体的には現在、Web フロントエンドの技術をリードしているのは Angular/React/Vue といった JavaScript ライブラリ群であり、この勢いから「サーバサイドも JavaScript が使えれば、サーバからクライアントまで JavaScript で統一できる」というアイデアに注目が集まるのは自然です。実際、node.js をはじめとするサーバサイド JavaScript が充実することは、Java の出番が減ることにつながりかねません。

では私は Java の将来を不安視しているのか?というと、実のところはそうでもありません。例えば node.js の台頭は Java に対するプレッシャーとして Java 陣営に良い変化を促すと信じています。(そして GraalVM には大いに可能性があると考えています。)エンタープライズ Web アプリケーションはサーバとブラウザの関係にとどまらず、非同期処理やバッチ処理、高負荷環境での安定性が求められます。これまで蓄積された技術資産の利用継続性も重要です。Java にはこの分野で圧倒的な強みがあります。これらを活かしながら、新しいフロントエンド技術との親和性を高めるような進化を取り込み続けることで Java はこれからも重要な技術として使われ続けていくことでしょう。

次のアニバーサリーイベントは30周年ですね。きっとそのときも私たちは Java を使っていることでしょう。むしろ最新の Java に追いつけないといったことがないように、しっかりと学習を継続していくつもりです。