はじめに
世の中には「あれ?異世界転生しちゃったかな?」みたいな歴史の認識をしている人がいます。
なので少しJavaについてこの世界の歴史を連ねていきたいかなと。
JavaとJavaScriptの関連性
これって意外と最近の人認識ズレてること多くて、実はJavaとJavaScriptに全く関係がないと言ったらそれはそれで嘘になるんですよね。
何故JavaScriptって言う名前になったかというと元々はLiveScriptと言う名前で開発されていたのですが、JSが初めて実装されたNetScape2.0を発表した時にNetScape社とJavaの開発元であるSun Microsystems社は業務提携契約を結んでいたんですね。当時、マルチプラットフォームで動作するJavaの人気は非常に高く、Javaに書き方を寄せていたこともあり、Javaに肖ってJavaScriptと言う名前を使いたいと、サンに申請したのが許可されたと。
こういった経緯があってJavaScriptの名前がついたので、まあ先祖の偉人の名前を貰った、みたいな。まあそんな程度の関係性はあるんですよね。
まあ、言語としては何も関係ないですが
Javaの歴史
1995年
Javaが産声を上げます。
- マルチプラットフォーム
- 高速なVM
- 中間言語へコンパイルしインタプリタで実行
と言った非常にユニークな昨日と当時はまだ黎明期で企業がバックボーンに付いてることが重要だったのですが、UNIXベンダーとして名を馳せていたサン・マイクロシステムズがバックボーンに居たということで非常に人気が出ます。
1999年
この年になって皆様お馴染みのエディションに分かれることになります。
- Java SE
- Java Standard Edition
- Java EE
- Java Enterprise Edition
- Java ME
- Java Mobile Edition
この3つに分かれ、JavaEEには企業向けの有償サポートをつけることとなります。
2006年
この時期になってOSS化の波を受けてサンはOpenJDKを設立します。
そもそもJavaと言うのはSun以外でもJDKやSDKを作成することができて、それをサンがJavaとして認めることでJavaになります。
それは企業だけではなくコミュニティでも同様で、コミュニティがクローズドなライセンスで公開されることを恐れ、サンがコードを寄贈する形でOpenJDKは発足しました。
2007年
この年Androidが発表されます。AndroidはJavaでOSや、アプリケーションを記述することができることを証明できる大きな実例となり、再び注目されます。(まあこのあとのOralceとの裁判でJavaは棄てられてしまいましたが)
同時にJavaFXと言うGUIアプリケーションも発表され、現在まで使われてきたSwingを置き換える形となりました。(発表のみで公開は翌年。)
このように2007年はJavaにとって大きな躍進となる年でした。
2009年
この年、世界に衝撃が走りました。なんと、前述のように大きな巻き返しをしていたJavaを持つサンマイクロシステムズがOracleによって買収されてしまったのです。
(正直同時に買収先として噂されていたIBMに買収されていたらどれだけ良かったものかと思いますが)
今後の問題の全ての原因となる大きな起点になりました。
この買収のゴタゴタでJavaの開発は停滞し、Javaの次のバージョンは2011年と大きく間が開いてしまうのでした。
2011年
Oracleに買収されてから初のJavaが出ます。
大きな変更としてはSwingへの仕様変更、Fork/Join Frameworkにより並列化の機能が強化されました。
2014年
Java 8が発表されます。
関数型の要素であるラムダやインターフェースの機能の追加、関数型へ対応するインターフェースの追加など
インターフェースと関数のアップデートが非常に印象的なアップデートとなりました。
2017年
Java 9を発表します
発表と同時に
- 開発サイクルを向上させるため半年ごとにバージョンを上げること。
- 長期サポートの有料化(60万円/プロセッサー)
- LTSバージョンの非発表
というOracleの伝家の宝刀マネタイズが炸裂してしまいます。
本当に改悪なので一生Java 8をサポートして頂きたい。
2018年
今年ですね
ついにJava11が出てしまいました。
OpenJDKの方もJava11のLTSを出すと言う発表はありませんし、Oracleも何も言っていません。
蛇口をひねれば出る水のように存在していたJavaは廃れてしまうのか今後が不安です。
このような行き先不透明な言語は他の人に勧められないし新しい人は入ってこないしで衰退する未来しか見えません。
ついにJavaと別れるときが来たのかもしれません。
それではまた。