「よう、アミーゴ。お前は初心者の中で一番優秀な生徒だ (まあその中の 1 人かな)!調子はどうだ?ちょうど Java で最初のプログラムを作ったって聞いたぞ。クールだろ?」

「はい、クールです。とてもクールで好きなんですけど。。。」

「何か納得いかないことがあるような声してるな。何か上手にできなかったことでもあったのか?」

「いいえ、そんなことないです。1 つだけ質問したいんですが。どうして Java が適切な言語なんですか?プログラミング言語の中にも簡単な言語があるとか、ウェブサイトの構築に適した言語があるとか、他にもゲーム開発に適した言語があるっていう話を聞いたのですが。Java は何に一番向いているんですか?

「それはいい質問だ!」その答えは簡単でもあるし、複雑でもあるんだ。複雑な部分から説明してやろう。」

「Java はあちこちで使われている。インターネット、モバイルアプリ、OS、組み込みシステム、リアルタイムソフトウェア、データマイニング、クラウドコンピューティングなどが使われているほとんどの場所で使われている。」

「問題なのは、ユーザーは大抵それを見ることができないということだ。なぜなら、Java は通常サーバーサイドのアプリケーションを書くために使用されるものだし、フロントエンドがない場合も多いからなんだ。それに、ユーザーは主にフロントエンドのことしか知らないからな。」

エンタープライズ業界では Java が一番好んで使用されている

「それは、企業が業務で使用する主なアプリケーションは Java で書かれているということだ。」

「例えば、金融サービス業界で使用されるサーバーアプリケーションは大抵の場合 Java で書かれている。銀行の IT 部門の多くは、電子取引用のフロントエンドシステムとバックエンドシステム、決済および支払いの確認システム、データ処理システムなどのコードを書くのに Java を使っている。」

「ウェブアプリの多くのサーバーサイドも Java で構築されている。教育関連、政府関連、ヘルスケア関連、およびその他の組織が提供するウェブアプリで Java が使用されているのをよく目にすることになるだろう。」

プログラマーが使うツール

「ソフトウェア開発用のツールが Java で開発されていることもかなり多い。お前もここからあと数回レベルアップしたら、その中のツールをいくつか学ぶことになるぞ。」

Java はビッグデータで大活躍

「Hadoop やその他多くのビッグデータテクノロジーも Java を使用している。ElasticSearch や HBase、Accumulo もそうだ。」

「エンジニアは Java を科学的なアプリケーションや微分積分学に使用している。」

Android とモバイルアプリ

「Java を使ってモバイルアプリを開発できることはもう知ってると思うが、それは Android が Java にとても適した環境だからなんだ。」「Android のアプリを書くのに一番よく使われる言語は何ですか?」

「もちろん Java だ。」「キャプテン、ありがとう。よく分かりました。」

「あ、ちょっと待て。良い例がいくつかあるから紹介しておこう。

  • マルクス・ペルソン(通称 Notch)が書いたサバイバル生活を楽しめる世界で最もポピュラーなサンドボックスゲーム、マインクラフトは、そう、彼が Java を使って書いたゲームだ。
  • Google+ (サーバーサイド全体) および Google のその他多くのサービス。
  • Eclipse や IntelliJ IDEA といった最高の開発ツール (IDEA についてはもう少し後で紹介する)。
  • Android 用 の Facebook ウェブアプリ、そして一般的に使用される Android のその他ほとんどすべてのアプリ。
  • Amazon ウェブサービス。そう、Amazon で買い物をするときは Java を使っているんだ。想像できないだろ?
  • Netflix によるサービスの大多数も Java で構築されている。そう思いながら大好きなショーを見てくれ。
  • Android のオペレーティングシステムは Java (ユーザーインターフェース) 、C、そして C++ で書かれている。
  • Tesla Motors のアプリケーションの多くも Java で構築されている。
  • 最後に、CodeGym のサーバーサイドも Java で書かれているんだよ (ビックリだろ?)。

じゃあ、勉強を続けよう、アミーゴ。その調子で頑張るんだ!」