AndroidとCS101はその大きな要因といえる。
これはおばあちゃんの淹れてくれるジャワ・コーヒーの話ではない。1995年辺りに誕生したにも関わらず、Javaは今でも使用されるプログラム言語である。事実、最近の雇用レポートで、Dice.comはJavaを2015年にプログラミング関連の仕事に就くために有利な5つの言語の一つに挙げている。
どうやってJavaはこんなに長期間、プログラミング言語の頂点に君臨し続ける事ができたのか?
人気コンテストを征服
Go言語はクラウド・コンピューティングの隆盛と共に流行し始めた。Scalaはここ10年ほど企業拡大に貢献している。その他の言語、例えばPHPやPythonも相当使われてきた。
だがJavaは、どのような調査においても、例えばIEEE spectrumによる求人とオープンソースに関する調査において、その首位に君臨し続けている。
そしてVisionMobileが行った最新の開発者への調査が示しているように、Javaは企業からの信頼が厚い。さらにモバイルにおいても影響を持ち始めている(グーグルがJavaをAndroid開発の共通言語として採用したことは不利に働かなかった)。
何故だろうか。世界はデータセンターからクラウドへ、デスクトップからモバイルへとシフトして来たのに、何故Javaはそんなに長い期間、有用でありつづけることができたのか?
Java成功の秘密
ジェイムス・ゴズリンと彼の愉快な「グリーン・チーム」が1995年に発表した当時のJavaは偉大だった。しかし成功持続の鍵は、最新のコンピューティングの要求を満たせるように進化するという、Javaが持つその素晴らしい能力にあった。
しかしながら、なによりもまず、Javaはとても親しみやすいということがあった。OpenGammaの共同設立者であるカーク・ワイリーが強調しているように、「(Javaは)一般人にとって、C++に比べて遥かに親しみやすかった」。その親しみやすさは、言語の馴染みやすさとコードの可用性という形でみられる。
@mjasay familiar c-style syntax, runs on any OS, tons of open source libraries for integration, fast and multi-thread/core capable.
— Kirk Wylie (@kirkwy) Jul 30, 2014
Matt Asay:「Javaがこんなにも長く1位でいられるという事は驚きだ。どうしてJavaは企業やモバイル・コンピューティングにとってこんなに重要であり続けられるのだと思う?」
Kirk Wylie:「見慣れたCスタイルのシンタックスで、どんなOSでも使えて、統合用のオープンソース・ライブラリーが山ほどあって、速くてマルチスレッド、マルチコアにも対応しているから」
Javaは非常に親しみやすいため、大学の授業でも教えられる事となり、あらゆる所で見かけるようになった、とMongoDBのソリューション・アーキテクト、ヘンリック・インゴは指摘している:
@mjasay Classes (e.g. their names) in Java map very well to good design patterns, which makes Java a good OO language to teach in university
— Henrik Ingo (@h_ingo) Jul 30, 2014
Matt Asay:「Javaがこんなにも長く1位でいられるという事は驚きだ。どうしてJavaは企業やモバイル・コンピューティングにとってこんなに重要であり続けられるのだと思う?」
Henrik Ingo:「例えば、クラスには名前がついているため、優れたデザインパターンを見つけやすく、Javaは大学で教えるオブジェクト指向言語としてちょうど良いんだ」
Javaの優秀な人材を雇いたい企業各社も、人材がふるいにかけられるのを黙って見ているつもりはない。Colt Technologies社の企業アーキテクト、ファヒーブ・サビル(@_fahim) は、Javaの「検定プログラムがあれば、能力があって(仕事ができることであり、才能を意味しない)訓練を受けた開発者やアーキテクトを見つけるのが簡単になる」と提案している。
だが、その技術自体はどうなのか?
デル社のクラウド管理用製品部門ディレクター、ジェイムス・アーカート(@jamesurquhart) は、Javaが持つ技術特性が、多くの開発者達に大歓迎された理由をいくつか提示している。
1. コンポーザビリティ。必要に応じて要素を内包、又は構築できる。(EJBsはまさにこの理由で生き残る事ができなかった。)
2. 偏在性。Javaは、Java自体の構築から、インフラ及びオペレーティング・システムのサポート、そしてJava内のソリューションまで広く採用されている。これは他の言語ではsあまり見られないことだ。
3. ユーティリティ性。ほとんど全ての主要な要求に対してアドレス可能。たくさんの手製アセンブリがある。そしてモバイル、埋込型、ウェブ、様々なスケールにも対応可能だ。
この最後の点について、Castlight Health社のシニア・エンジニア、デイビッド・ヴァン・クーバリング(@dcouvering)は強調する。「パフォーマンスも素晴らしい…静的に扱えるため、巨大なコード・べースにも対応可能なのです。」
どんな仕事も必ずやり遂げる
おそらくこれがJavaの有用性の究極的な理由だろう。ライバル達と違って、Javaはどんな規模においても、多種多様なアプリケーションに用いられてきた。実際、クレディ・スイス副社長のゾハル・メラメド(@zohar_melamed)は、Javaが「負荷がかかった状況にも対応できる言語」であるとし、失敗の可能性を最小限にしたい者達が頼るべき言語と位置づけている。
テクノロジーによっては、その主な役割が別のものに奪われても、ニッチな役割を担うことによって長く生き残るものもある。産業界と演算プラットフォーム全体に渡って、Javaはあらゆる用途に使用できる際立つ存在といえる。
Dice.comがJavaを「職に就きたければ」学ぶべき言語のリストのトップに置いたも納得できる。これは2014年だけでなく2004年にもそうだった。考えてみると、それは驚くべき事である。
トップ画像提供(Java creator James Gosling):Peter Pilgrim(Flickrより), CC 2.0
Matt Asay
[原文]
※本記事はReadWrite Japanからの転載です。転載元はこちら