Java は本当に世界で最も人気のあるプログラミング言語と言えるのでしょうか? 若干の留保はつきますが、はい。現代の企業のほとんどは現在 Java を使用しており、今後何年にもわたって Java を使用するでしょう。

企業コンピュータの 95% 以上が Java を使用し、すべてのコンピュータの 90% 以上が Java を使用し、この言語を使用するモバイル デバイスの数は 30 億を超えています。したがって、世界中のほぼすべてのある程度大きな企業が Java を使用し、Java の専門家を雇用していることは驚くべきことではありません。

Java + Android = 愛

Java が最初にこれほど普及したのはなぜですか? まず第一に、クロスプラットフォームのサポートと多用途性です。Java の柔軟性により、この言語で書かれたプログラムを、デスクトップ PC、携帯電話、さらにはスマート マシンから家庭用電化製品に至るまで、ほとんどのデバイスを含むほぼすべてのデバイス上で実行することができます。これらのデバイスも、今日では時間ごとに賢くなっています。

もちろん、現代世界での Java の人気と確固たる地位は、主にモバイル プラットフォーム、具体的には Android オペレーティング システムのおかげです。それは当然のことです。今日のアプリケーションはモバイル バージョンなしでは成り立ちません。Android はモバイル OS の王座に君臨しており、Android 開発は Java なしでは考えられません (Kotlin もありますが、それは別のトピックです)。つまり、多用途のモバイル アプリに大きく依存している現代の大企業のほとんどは、Java なしでは生きていけないのです。

Java のリーダーシップの立場と統計がこれを裏付けています。TIOBE インデックスによると、Java は世界で最も人気のあるプログラミング言語であり、その普及率は 16% で、C や Python を上回っています。

トップ企業とユニコーン。Java をどのように使用するか

私たちは、現代のビジネス環境における Java の主導的地位について検討してきました。Java は非常に多用途で広く普及しているため、初心者はこの言語が使用されているすべての分野、大企業や成長中の新興企業が Java をどのように正確に使用しているか、どこで最も役立つかを把握するのが難しいと感じます。

この問題を正しく理解したい場合、「Java はどこでも使用されている」というフレーズを聞くことほど満足できないものはありません。したがって、ビジネスが Java と Java が提供する機能と密接に関係している成功した企業の実例を調べるのが最善です。ここでは、ほとんどの人が知っており、多くの人がそのサービスなしでは生きていくことを想像できないような大手量販企業についてお話します。

ウーバー

Uber は、Java をベースとしたモバイル アプリを中心にビジネスを構築している成功企業の典型的な例です。

Uber (および同様のサービス) はなぜこれほど魅力的で人気があるのでしょうか? ユーザーがアプリを開いてほぼ即座に配車を注文できるという事実。Uber アプリには、車の現在の位置、目的地、到着時刻が分単位で表示されます。Uber では、ドライバーの名前だけでなく、車のナンバー プレート番号、色、メーカーも表示されるため、ユーザーは希望の車をほぼ瞬時に認識できます。支払いプロセスも迅速かつ簡単で、アプリがユーザーのクレジット カードに自動的に請求します。

これらすべてが Java のおかげで可能になります。現代のデジタル ビジネスの現実により、企業は 24 時間 365 日利用可能で、注文から数分以内に商品やサービスに対する顧客の需要を満たす新しいモバイル アプリの作成を余儀なくされています。この需要に応えるために、ますます多くの企業が急速に Java に注目しています。

コードの継続的な改善と組み合わせたJavaのおかげで、最新バージョンの Uber アプリのユーザーは多くの情報や多くの機能にアクセスできるようになります。たとえば、このアプリを使用すると、旅行の費用を確認したり、時間帯、天候、その他の要因に応じた運賃の変化を追跡したりできます。また、異なる快適性レベルの車を選択したり、同じ方向に向かう他のユーザーと乗り合わせたりすることもできます。これらの機能が動作するには、数十、場合によっては数百のバックグラウンド プロセスが必要であり、Java はこれらのプロセスを適切に調整することに大きく貢献します。

Netflix

現在、誰もがお気に入りのビデオ サービスは、毎日 20 億ものストリーミング コンテンツのリクエストを処理しています。すべては Java 中心のアーキテクチャのおかげです。

Netflix は世界で最も人気のあるオンライン TV ネットワーク (そう呼んでよいのであれば) であり、そのサービス モデルとインターフェイスは標準となっています。Netflix ユーザーは、月額約 10 ドルという少額の料金で、いつでも、どのデバイスでも、好きなだけ映画やテレビ番組を視聴できます。

Java のスケーラビリティは Netflix の成功に重要な役割を果たし、同社はユーザー ベースを 50 か国以上で 5,700 万人にまで増やすことができました。この視聴者は毎月 10 億時間以上のビデオ コンテンツを視聴しています。

「当社のアーキテクチャ内のサービスの大部分は、Java と Java 仮想マシン (JVM) 上に構築されています」と Netflix の開発者である Andrew Glover 氏は述べています。「私たちは常に何千もの Java プロセスを実行していますが、プラットフォームが成長しても、深刻なインフラストラクチャの問題は発生していません。」また、サービスの追跡、更新、拡張を容易にする Java ベースのオープンソース ツールを多数使用しています。」

「ユーザーが Netflix を開くと、システムは舞台裏で約 12 の異なるプロセスを開始してユーザーを認証し、ユーザーが使用しているデバイスを特定し、アカウントがアクティブであることを確認し、ユーザーの最近のアクティビティを確認します。これらすべてのプロセスは、Java ベースのオープンソース ツールであるEurekaで管理されています」とグローバー氏は述べています。

ツイッター

世界で最も人気のあるマイクロブログ サービスである Twitter は、2006 年に登場しました (インターネット業界の標準からすると古い時代です)。初期の頃、ユーザーベースが急速に成長するにつれて、パフォーマンスと安定性に大きな問題がありました。このサービスは頻繁にクラッシュするため、Twitter がダウンしたときにユーザーに表示される白いクジラの画像が表示された画面がミームになりました。

しかし、2010 年末以降、Twitter はより安定してきました。ここ数年、優れた稼働率指標を達成しているため、眠気を催すシロイルカは忘れ去られています。この変化に対して誰に感謝すべきでしょうか? もちろんジャワです。

Twitter の開発担当シニア ディレクターである Robert Benson 氏はインタビューでこれについて言及しました。同氏によると、Twitterの開発者はプラットフォームの創設以来、サービスのアーキテクチャと、毎秒ユーザーからの膨大な数のリクエストを最も効率的に処理する方法について多くのことを考えてきたという。そして現在、Twitter には 2 億人を超えるアクティブ ユーザーがおり、毎日 4 億件以上のツイートを投稿しています。数年間の分析と最適なソリューションの探索を経て、Twitter のエンジニアは Java 仮想マシンを使用するようになりました。これにより、システムを水平に拡張して負荷に対処することが可能になります。

Twitter 開発者は、同社の最も重要なシステムのほとんどを、JVM で実行される Java と Scala で書かれたサービスに移行しました。そのため、Twitter は現在世界中で非常に安定しており、ワールドカップ決勝戦や米国選挙などの注目を集めるイベント中に発生する高負荷のピーク時にも問題なく対処できます。このシステムを使用すると、ユーザーはほんの数分前に起こった出来事に関するニュースを見つけることもできます。

価格表

オンライン予約のリーダーである Priceline にとって、Java は効率と有効性の鍵です。この言語により、柔軟性、パフォーマンス、モビリティ、そして大きなリーチが可能になります。

Priceline は、世界中のホテルやアパートメントを予約するためのアプリです。このサービスは、リーダーである米国に比べ、欧州ではあまり知られていません。Priceline は Booking Holdings の一部であり、これには KAYAK、Rentalcars、Booking、OpenTable、Agoda などの非常に人気のある予約サービスも含まれています。したがって、以下で説明する Java の使用に関する側面は、これらのサービスにも大きく関係しています。

ホテルの検索と予約のプロセスはユーザーにとって非常に簡単に見えますが、希望の目的地と日付を入力するだけで済みます。Priceline などのサービスでは、多くの同時プロセスを伴う複雑なシステムが「舞台裏」で実行されています。単純な検索クエリにより、世界中のさまざまなホテル、航空会社、データベース、予約システムへの一連のやり取りと接続がトリガーされます。

たとえば、ニューヨークのどこかの部屋を予約するためにホテルを検索すると、ホテル システムやさまざまな仲介業者に対して最大 500 件の同時リクエストが作成されます。何千ものユーザーがシステム上で同時にホテルを検索できるという事実を考慮すると、Priceline や他の同様のアグリゲーターにとっての主な困難は、リアルタイムで発生するこの複雑なリクエストと接続のマトリックスを管理することです。ここで、スーパーヒーロー Java が、サービスがこれらのリクエストに応じて世界中のデータベースから情報を迅速かつ効率的に受信できるようにすることで窮地を救います。Priceline の場合、同社の Java への忠誠心は非常に高く、Priceline の北米部門の CIO である Michael Diliberto 氏はかつて、Java は同社にとって「生活様式」であり、Java を使用することはできないと述べました。

Java がなければ、いくつかのグローバル サービスをうまく組織化できませんでした

少なくとも、私たちが見慣れている形では。したがって、これらすべてをグローバルな観点から見ると、現代世界全体は Java なしでは不可能であると言えます。

自分で判断してください。今、便利なアプリではなく、大声で叫びながら歩道で手を振りながら昔ながらの方法でタクシーを呼びたいと思う人がいるでしょうか?アプリがすべてのことを代わりに行ってくれるとしたら、誰が各ホテルに順番に電話して空室を探すのでしょうか? そして、恋人を誘惑するための「Netflixでくつろぐ」以上に便利な言い訳を誰が思いつくでしょうか?

私たちの生活を変えるサービスやアプリは Java 開発者によって書かれています。そしてこれはほんの始まりにすぎません。実際、イノベーションの可能性は無限であり、拡張性、柔軟性、世界的な展開に対する需要は高まるばかりです。