Javaを表す言葉として「永遠、紆余曲折、死、再生」と言っても決して過言ではないと思います。
1991 年、ジェームズ ゴズリングは「グリーン チーム」と呼ばれるチームを率いて、次世代のデジタル デバイスとコンピューター向けに設計された新しい言語とネットワーク システムを開発しました。 4 年間の努力の末、プロジェクトはついに完成し、Java と名付けられました。
JavaはCに似た構文を持ち、「一度コンパイルすればどこでも実行できる」という柔軟性を持っています。仮想マシンのメカニズムを通じて、コードは基盤となるプラットフォーム上で実行時にコンパイルできます。 Javaの過去20年を振り返ると、まずマイコン時代の栄枯盛衰を経験し、サーバー分野やスマートフォン分野への進出を経て、DHS(米国国土省)の「危険」の定義の下、苦戦しながらも前に進んでいきました。セキュリティ)、そしてついに Oracle(Oracle)に投資し、2 度目の春を迎えようとしています。これほど浮き沈みのある言語が他にあるだろうか?
Java の発売後、Sun は市場に問題があることに気付きました。それは、コンピューター分野と非コンピューター分野が互いに分離されていたということです。 Sun は、この 2 つを結び付けることができれば、コンピュータ革命が起こると考えています。ゴズリング氏は、「統一テーマはネットワークだ」と述べ、「当時の市場を見ると、2つの分野のメーカーはそれぞれ独立して取り組んでおり、統一したネットワークを形成していなかった。そのため、何度も実験を繰り返す必要があった」と述べた。しかし、これらは実際には 30 年前に科学で解決されました。「問題は、家電メーカーがクロスプラットフォームのパブリック API やコードの再利用などのネットワークの使用を考えていないことです。」ソフトウェアの再利用を見つけてください。私たちが提案したモジュールのコンセプトは、最終的にはこの状況を変えるでしょう。」高性能コンパイラ向け。次の 5 年間で、誰もがエンタープライズ アプリケーションに注目するようになりました。 Gosling 氏は、「Java EE が世界を席巻した光景を振り返ると、今でも私たちの心の中に鮮明に残っています。私たちの唯一の間違いは、これに全エネルギーを集中させたことで、すべてのリソースが最初に EE に割り当てられ、それ以上のエネルギーを投資できなかったことです」と述べました。 Oracle Java プラットフォーム開発担当バイスプレジデントの
サーブ氏は次のように述べています。「1990 年代には、ほとんどの開発者がデスクトップ アプリケーションの作成にエネルギーを注ぎましたが、2000 年までに Pet.com の成功は大きな注目を集めました。業界はデスクトップから HTML アプリケーションに焦点を移しており、タッチ スクリーンをベースとしたモバイル アプリケーションの人気が高まっているため、次のトレンドを把握するのは困難です。 「
Java 2 Micro Edition (J2ME) は 1998 年に導入され、Java を Java 2 Standard Edition (J2SE)、J2ME、および Java 2 Enterprise Edition (J2EE) の 3 つのプラットフォームに分割しました。 ME は Small Devices and Embedded Systems の略です。 ME は当時標準となっていたガラケーで普及しました。 Gosling 氏は、「ME は十分に成功しており、当時最も強力なスマートフォン開発プラットフォームでした。しかし、Android があまりにも眩しいため、今では徐々に忘れ去られています
独立したプラットフォームとして、Java ME は疎外されています。」と述べました。 Oracle開発担当シニアバイスプレジデントのキャメロン・パーディ氏は、すべてのプラットフォームはJava 9の次期バージョンで統合されるだろうと語った。再利用可能であり、これは Android や iOS に対抗するための強力な武器になります。 「
谷に陥っている
」 過去 10 年間の Sun の低迷により、Java は無駄な年月を経験することを避けられません。 IBMは65億ドルを提示したが、Oracleは74億ドルでSunを獲得した。
Oracle の管理下で、Java は最初の数年間は良好なパフォーマンスを示し、大きなミスが 0 つもなかったセキュリティの代名詞となりました。しかし、2013 年 1 月に事態が悪化し始めたのは、米国土安全保障省 (DHS) が人々に Java の使用をできるだけ避けるよう勧告したときです。エンタープライズ向けソフトウェア会社としてのオラクルの欠点は、パッチ適用とバグ修正のスピードであり、一般消費者向けのマイクロソフトやアドビと比較することはできません。他の人はそれを時間または日単位で測定しますが、Oracle はそれを月単位で測定します。
Purdy は、Oracle がこの欠点を修正し、その重要性を理解するために最善を尽くしたと信じています。問題の核心は、ゴズリングのような有力選手を失った後も自立できるチームをどのように構築するかだ。同氏は、「私たちは多くの疑問を聞いてきましたが、実際には解決策を見つけるために継続的に投資し、努力してきました。」と述べました。
灰からの再生
DHS の公式声明は Java にとって最後の藁であると多くの人が予測しています。しかし、状況は徐々に好転し、多くの Java ファンが Java の評判を守るために出てき始めました。 Dr. Dobb’s Journal の編集者 Andrew Binstock はかつて、「死に直面しても Java はかなり健全に見える」というタイトルの社説を発表しました。
Oracle の買収について、Gosling 氏は次のように喜びを表しました。 、今は心配しすぎているようです。」
Java を引き継いだ後の最初の 5 年間、Oracle は Java チームを再構築する必要がありました。 「入力からリリースメカニズムに至るまで、プロセス全体を検討してバグを修正する方法を決定することに多くの時間を費やし、多くのコードをレビューした結果、長いバグ修正リストが完成しました」と Purdy 氏は振り返ります。
かつてセキュリティは Java を辱めましたが、セキュリティは Java に新たな命を吹き込みました。 2014 年の Pwn20wn ハッカー カンファレンスでは、Java は侵害されなかった唯一のプラットフォームでした。 2015 年のカンファレンスでは、Pwn20wn は攻撃リストに Java を含めていませんでした。
現在と将来
Java 9 は、Oracle による買収以来初のメジャーリリースになります。 Java 9 の主な目標は、モジュール性を最大限に高めて、ビルディングブロック アプリケーションの作成を支援することです。
「私たちの目標は、人々が JAR の制約から解放されるよう支援することです。」と Saab 氏は言います。「パッケージ化など、以前は非常に複雑だった作業を簡単に処理できるようになります。必要なモジュールだけを使用し、残りはそのままにできます。 「無視してください。」とパーディ氏は付け加えました。「これは Java プラットフォームにとって初めてのことです。この機能は Java ライブラリ全体で使用され、依存関係を 1 つの依存関係グラフに再配置します。」と Java の将来について語った。 Eclipse Foundation のミリンコビッチ氏の見解は、「Java の未来はモノのインターネットにあると思います。Oracle とそのパートナーが、デバイスをインターネットに接続する完全なポイントツーポイントの Java ストレージ ソリューションに注力することを強く望んでいます。」成功すれば、今後 20 年間で Java がより良く、さらに発展できると私は信じています。」 Gosling 氏の見解は、「VM はそれ自体です。すべての部分は相互に接続されています。IT 世界の将来は、相互接続と相互運用性を実現することであり、エッジとコアを効果的に統合することで、内部と外部の別々の管理の手間を省き、より強力なプラットフォームを手に入れることができます。」多くの人 Java が回復することは決してないだろうと誰もが予測していましたが、今日でも Java は多くの重要なプロジェクトで非常に重要な役割を果たしています。
Purdy 氏は、Java がなければビッグデータの大規模な開発さえあり得ないと指摘し、「Hadoop 自体は Java で書かれています。MapReduce を実行しているサーバー クラスター上で新しい機能をリリースする必要がある場合は、動的デプロイメントを実行する必要があります。これが Java の得意なことです。」
もう 1 つの Java の恩恵を受けるのは Twitter です。 TwitterはもともとRuby on Railsで書かれていましたが、ユーザー数が増えるにつれて徐々にRoRでは足りなくなっていきました。 Fail Whale のクラッシュ画面は、ボトルネックの問題を早急に解決する必要があることを示しています。 2012 年に Twitter は RoR から Java と Scala に切り替わり、モイストクジラは絶滅しました。
Java が昨日のことになっただけでなく、新たな活力を取り戻したことがわかります。一緒に Java 9 を楽しみにして、Oracle が開発者にどんな驚きをもたらすかを見てみましょう。