レポート

スクリプト言語からSunの財務状況まで~James Gosling氏プレスインタビュー

この記事を読むのに必要な時間:およそ 4 分

スクリプト言語にもの申す

――JavaFXについて教えてください。プライマリリリースということですが,MicrosoftやAdobeのRIA環境に比べると遅れを取っている印象があります。特徴はどこにあるのでしょう?

ツールとしては遅れている印象があるかもしれない。でも「何ができるか」という点では進んでいると思う。JavaFXの下にあるJVMの機能が高度だからだ。JVMとJavaFXを組み合わせたパフォーマンスはすばらしいよ。演算部分などはJavaに任せることができるからね。もう1つの強みは,すでにJavaが作り上げてきて,JavaFXで利用できる標準APIがたくさんある点だ。新しくAPIを作る必要はほとんどないよ。弱みと言えばツール部分。まだシンプルなツールしか出ていない。だけど,Adobe IllustratorやPhotoshopで作ったイメージをUIに統合できる機能がある。これは非常に便利だ。

画像

――Javaがもはやレガシーな言語としてCOBOLに例えられるような状況がありますが,Javaの創始者としてはどう思われますか?

その見方には大いに不満があるね! Rubyのコミュニティなんかでそういうことを言ってるようだけどね。Rubyが優れているのは素早くWebアプリケーションを構築できる点だ。だがRubyアプリケーションの実行パフォーマンスには改善の余地がある。つまりJavaのアプリケーションと比べてのろいんだ。Rubyは小さいアプリケーションには向いているが,大きなものになるとどうだろう? 良い例がTwitterだ。あのUIパフォーマンスは悪夢だよ。

RubyはWebプレゼンテーション層だけを対象にしている。他の層も含めて見た場合にJavaに匹敵する言語は見あたらないね。ああいう言語が組込みや携帯プラットフォームに使えるか? 複雑な科学演算に対応できるか? そのあたりに近づいている気配すら見えないよ。JavaがまだまだCOBOLと一緒にされるには早いね。

――ではそういうスクリプト言語の中で一番興味を持っているものは?

うーん,興味があるのはScalaかな。関数型言語で,タスクが非常に簡単に書ける。マルチコアにも対応しやすいんだ。Fortressにも興味あるけど,あれは動的言語とは言えないかも。非常に強力な言語だよ。科学演算でマルチコアで展開する処理ができるんだ。RubyやPythonはそういうレベルでマルチコアに対応しているとは言えない。

――以前はプログラミングを始める人にまず勧めるのはJavaでしたが,いまではJavaVM上でもいろいろなスクリプト言語が動くようになり,非常に敷居も低いものがあります。これからプログラミングを勉強したい人に勧められる言語としては,今でもやはりJavaですか?

画像

それは学ぼうとする人がどういう技術を実現したいか,という方向性によると思うんだけど,Javaならいろいろな目的で使うことができる。それに対してスクリプト言語は1つの目的―たとえばWebプレゼンテーション層のプログラミングだけ―にしか向かないことがある。もし大学で物理,化学を究めようとしたら,どのスクリプト言語もまったく役に立たない。でもJavaなら使える。そこがJavaの強みだ。複数の技術分野で役に立つ言語は他にはない。

何でも答えます! 個人的質問から会社の財務まで

――基調講演でEmacsを否定するようなことを言っておられましたが,同じように昔は優れた技術であったものの,これから使われなくなると思われるものはありますか?

No technologies ever been die.-どんな技術も完全に死に絶えることはない(笑⁠⁠。奇妙なことにね。僕もかつてはFORTRANでプログラムしていたが,いまだに使っている人がいるのには驚く。COBOLも残ってる。

――Sunは財務的に苦しい状態が続いていますが,実際はどうなのでしょう? またオープンソースモデルでどうやって儲けているのか,とよく言われていますが,このモデルは今後も続けていくのですか?

Sunというのは今「不気味」な状態にあるんだけど,よく考えてみたら,全世界が同じような状態になっている。そんな中,Sunのオープンソースビジネスは極めて健全で大きな利益を上げている。四半期ごとに出ている財務報告を見てもらったらわかると思うけど,収益上の問題はハイエンドマシンの金融機関向けの売上部門に集中している。大手金融機関は大型ハイエンドシステムを買わなくなってしまったんだ。Sunの売上のうち15~20%がこうした部門から上がっているものだ。もし僕が1日だけ神様になれるとしたら,オープンソース以外の事業はすべて破棄するね! アナリストの報告なんか信用できないよ。だって彼らはこの間までCDS(Credit default swap)やサブプライムローンを良いものだって言ってたのだから。

それに,Sunの健全性という点では非常に摩訶不思議な状況になっている。Sunの株価があまりにも低いため,今や我々の手持ちのキャッシュのほうが株価を上回っているんだ。いま銀行に30億ドルぶんの手持ち現金が眠っている。その点で見たらSunは極めて健全な状況ということになるよね。

――Javaが出て13年になりますが,これまであなたが一番苦労したことは?

あたりまえかもしれないけど,一番の問題はいつも技術的なことじゃない。それよりも問題だったのは「業界政治」的なことだ。Javaはコミュニティ指向の技術だが,コミュニティには多くの企業や団体などのプレーヤが参加していて,皆違った意見を持っている。その外交交渉(diplomacy)が非常に難しかったよ。それを乗り切る秘訣は何かって? 忍耐(patience)だよ(笑⁠⁠。忍耐しかない。仏教徒にならなくちゃ(笑⁠⁠。

――外交交渉の中で,したくなかった妥協はありますか?

うーんそれは言えないよ(笑⁠⁠。もし言ったらいろいろな人々に迷惑がかかっちゃう。1つ例を挙げると「Calendarクラス」というのがある。もともと時間を表現するためだけのものだったのに,いろんな人たちがいろんな意見を言って,もちろんディベートもしたんだけど,結果的にえらく複雑なものになってしまった。Calendarクラスを1度でも見ればわかると思うけど,誰も気にしちゃいないよ!って機能が入っているんだ。日本の元号が入ってるし,旧正月,グレゴリオ歴,ユリウス歴も入っている。これはプロテスタントが国教かどうかによるものなんだけど,関係ない人にはどうでもいいことなんだ。ただこれを主張している人は必死になって「これを入れなきゃダメなんだ!」と言い張る。その結果こんなことになったという例だ。

画像

――最後に日本の開発者にメッセージを

Be in on!(参加してください⁠⁠。Javaにはたくさんのコミュニティがあります。テクノロジもあります。これまでも日本の開発者は非常に貢献してくれたけど,まだまだ貢献できる余地はたくさんありますよ!