オープンソース化に満足?――Javaの父ゴスリング氏に聞く(1/2 ページ)

なぜSunはJavaFX Scriptを作ったのか? Sunのゴスリング氏はJavaにまつわる質問に答え、「防壁を築き、石を投げ合って」いるオープンソースコミュニティーの状況についても語った。

» 2007年05月16日 18時55分 公開
[Darryl K. Taft,eWEEK]
eWEEK

 Java言語を発明したジェームズ・ゴスリング氏は、Sun Microsystemsの副社長でフェローでもある。同氏はJavaOneでeWEEKのシニアエディター、ダリル・K・タフトの取材に応え、Javaオープンソース化、Javaプラットフォームの新たな方向性とプログラミング全般、新しいSunの技術とMicrosoftとの競争について語った。

―― Javaはいかにして第2のC++になったのですか? あなたは、開発者がC++の泥沼を避けられるようにJavaを発明したようですが、今は多くの開発者が、Javaは同じ膨張の問題を多く抱えていると言っています。

ゴスリング その質問はいろいろな意味に取れますね。わたしは、Java言語はC++が陥ったネズミの巣のような複雑さをうまく避けてきたと思っています。C++の問題の多くは、大昔、セキュリティや何かを考えることが重要ではなかったころの設計によるものです。

 それにJava言語の進化はコミュニティーに徹底的に吟味され、調べられてきました。この点には非常に満足しています。極めて複雑で難しくなったと感じられる部分はすべてAPIです。Javaで利用できるライブラリ一式は退屈です。C++よりもずっと大きく、ある意味では人々が構築しているさまざまなものの避けられない結果です。

 これは、ピーターの法則といわれるものが当てはまる分野の1つでもあります。ピーターの法則とは「すべての人は昇進を重ねて、おのおのの無能レベルに到達する」というものです。仕事をやりやすくするツールを作るのにかなりの時間を投じている人が、自分の仕事を容易にしたら、その人に「あなたは何もしないで座っているだけだ。だからやることをあげよう」と言う人が出てきます。皆が今構築しているものがどれほど複雑か見てみると、5年前と比べたらとてつもないレベルです。今人々が開発しているシステムの多くは、ほかの技術だったらどうやって作るのかまったく分かりません。

―― どうしてSunはGroovyなど既にあったものを活用するのではなく、まったく新しいスクリプティング言語を作ったのですか? なぜ開発者はJavaFX Scriptで新たなスクリプティング言語を学ばなければならないのですか?

ゴスリング スクリプティング言語が足りないということではありません。この種の言語は10億ほどあるはずです。その多くがよく使われています。問題は、スクリプティング言語の大きな強みが、特定のアプリケーション分野にターゲットを絞り込んでいることから生まれるという点にあります。それに世にあるスクリプティング言語の大半は、Webページを生成するために作られました。そこがリッチなグラフィカルユーザーインタフェースの構築とは根本的に違います。JavaFX Scriptはグラフィカルユーザーインタフェースのためのものです。

 基本的なレベルでは、これらスクリプティング言語のほとんどはトランザクション指向です。リクエストが来て、ページを生成して出せば終わりです。グラフィカルユーザーインタフェースでは、実際に時間の進行があります。時とともに何かが起きます。テキストの一部が表示されるような、わずかなことでもです。ただ現れるのではなく、ゆっくりと展開していきます。ゆっくりと不透過率を変えたり、サイズを変えたり、あらゆるものを変えます。グラフィカルユーザーインタフェースの世界では異なるアニメーションの動きに関するものもたくさんあります。

 だからクリス(・オリバー氏。JavaFX Scriptを考案したSunのエンジニア)はこれを大きく違ったやり方でとらえ、その分野で非常に有効なものを考え出しました。

 JavaFX ScriptをWebページの生成に適用しようとするとひどいことになります。そういう用途向けに作られたものではないのです。

―― では、これは彼(クリス・オリバー氏)が空き時間に作ったのですか? それともSunのプロジェクトだったのですか?

ゴスリング 彼はSeeBeyondにいたときにこの取り組みを始め、その後SunがSeeBeyondを買収しました。これはクールだと思ったので、買収の後も取り組みを続けてもらったのです。世間に披露して、皆に使ってみてもらいたいと思えるレベルにまで達しました。クリスは「自分の子どもを世間に出す」ことに少し及び腰でしたが……。

―― 同じような趣旨ですが、Web2.0とマッシュアッププログラミング向けに登場したのはどの種類の言語だと思いますか?

ゴスリング 分かりません。今のところWeb2.0に関するプログラミングで気掛かりなのは、混乱してきたということです。1万通りくらいのやり方があって、あれやこれやいろんなものをまとめるのは、ペンキを混ぜるようなものです。何色ものペンキを混ぜると、いつも汚い茶色になります。そういうやり方をしているときに一貫したアーキテクチャアプローチを考えるのは困難です。

関連キーワード

Java | オープンソース | JavaFX | GPL | JavaOne | Focus on People


       1|2 次のページへ

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2011. All Rights Reserved.

注目のテーマ