あるプログラミング言語が別のプログラミング言語よりも優れているとウェブ上で発言すれば、間違いなく論争が巻き起こる。「Javaの生みの親」として知られるJames Goslingは、このことを誰よりも知っているはずだ。
Goslingは最近書いたブログのなかで、Javaとスクリプト言語に関する論争のなかに足を踏み入れた。
PHPやPythonのようなスクリプト言語は、「動的な言語」としても知られているが、これらはJavaに比べて簡単に習得できることから、開発者の間で人気が高く、とくにウェブページの制作にはよく使われている。かつてのJava信奉者を含む多くの人々が、スクリプト言語の利用や、オープンソースコンポーネントで構成されるいわゆる「LAMP」スタックの利用が増加する一方で、その分Javaの利用が減少したと主張している。
現在、SunのDeveloper Products Groupで最高技術責任者(CTO)を務めるGoslingは、明らかにJavaに肩入れする立場にあるものの、この問題についてはそれ程心配していないという。「われわれはまだ、Javaで実際にできることの3分の1しか実現できていないように感じる。Javaで可能になることは、まだまだたくさんある」と同氏は述べている。
Goslingは、CNET News.comの取材に応じ、プログラミング言語に関する果てしない論争や、非難の的となることにも良い面があること、そしてJavaが今後たどる方向性について語った。
--プログラミング言語としてのJavaが持つメリットについて、現在も議論が続けられています。また多くの人々が、スクリプト言語がJavaに取って代わりつつあると主張しています。Javaの利用は減りつつあるのでしょうか。Javaは歳月の経過とともに無様に老化し始めているのでしょうか。古めかしく、干からびたものへ変わってきているのでしょうか。
実際のところ、「そういったことが事実であればよいのに」と思う気持ちがわたしの中にあります。そうであれば、わたしの人生がはるかに楽になると思えるからです。しかし、どこをみてもJavaの勢いが弱まっていることを示すものなどありません。Evans Dataの調査データにもそんな兆候は見られませんし、わたしたちが今もJavaやその関連技術から大きな価値を得ていることも、そうした考えが間違いであることを示しています。
Javaの勢いが弱まればよいと願う人が大勢いることは承知しています。ただ、わたしにとって最も面白いのは、そのおもしろさがある意味で多様化しているところです。
--Javaが古めかしく干からびたものになってくれればよいと思うのは何故ですか。
Javaに関する仕事をかなり長くやってきており、「休暇をとることができれば素晴らしいだろうな」と思う時があるからです。
(最近わたしがブログに書いた内容についての)コメントを読むと、妙な感じがします。わたしは、少しでも議論の的になりそうな話題を避けるよう、一生懸命努力しています。ところが、わたしの人となりのせいで、それほどしないうちにブログ界で大騒ぎが起こるのです。
わたしはなるべく論争からは距離を置き、他の人を刺激しないように努力していましたが、それらしいことがなくても侮辱的だと決めつける人々がいたのです。しかしその反面、わたしを強く擁護する人々もたくさんいました。これにはとても心が暖まりました。
わたしにとって、最近の(Javaの状態をとらえる)一番よい指標は、われわれが世界中で実施している開発者向けの教育プログラムだと思います。これらのプログラムは規模を拡大し続けており、参加者数も順調に増加しています・・・特に中国、インド、ブラジルといった国では、参加希望者が殺到しています。
--いくつかの話題に触れられましたが、それについてお聞かせください。Evans Dataの調査によると、Javaの利用はアジアでこそ増加しているものの、北米では過去2年半減少し続けているといいます。一方、PHPなどのスクリプト言語はいっそう人気が高まっており、また堅牢さも増しています。さらに、いわゆる「Web 2.0」世代の企業に目を向ければ、その多くがスクリプト言語を含んむ「AJAX」を使っていることがわかります。
AJAXは、JavaScriptを使って先進的な開発を行う一種のスタイルに過ぎません。非常にすぐれたものですが、問題を抱えていることも確かです。
--わかりました。それでは「Beyond Java」といった書籍はどうでしょうか。同書には、Javaが適している開発分野は存在するものの、ウェブ開発には他の開発言語やフレームワークのほうが向いていると書かれています。こうした意見に対してはどう応えますか。根拠があると思いますか。
あるともないとも言えます。PHPなどウェブ開発だけに焦点を絞った言語を例にとってみましょう・・・ウェブページを1つつくるだけなら、PHPは実によくできた言語と言えます。まるでJSP(Java Server Pages)のクローンのようですし、かなりの部分がJSPとまったく同じになっているように見受けられます。
ただ、それ以上のことをしようとすると途端に話がややこしくなります。PHPのようなスクリプト言語はウェブページの生成に重点をおいているので、大量の分析作業や他の計算処理との統合を行おうとすると、すぐに難しいことになってしまいます。
よく見かけるのは、ウェブページそのものの生成にはPHPを使い、バックエンドのデータ分析などにはJavaを用いるというやり方です。こうしたケースでは、あるテクノロジーが別のテクノロジーに取って代わるのではなく、両者が互いに補完し合っていることも多くあります。
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス