アンケートご協力のお願いgihyo.jpでは,2010年度に向けて豪華プレゼントが当たる読者属性アンケートを実施しております。ご協力ください。

gihyo.jp » NEWS & REPORT » レポート » 2008年 » スクリプト言語からSunの財務状況まで~James Gosling氏プレスインタビュー

レポート

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

12月2日,サン・マイクロシステムズの開発者向けイベント「Sun Tech Days」参加のため,「Javaの生みの親」として知られるSun Microsystems, Vice President and Sun FellowのJames Gosling氏が来日し,同イベントの基調講演後にプレス関係者を招いてのラウンドテーブルが行われました。このインタビューの模様をお届けします。

いつも訥々とした独特の口調でインタビューに答えるGosling氏ですが,今回はいつも以上にざっくばらんに,Javaの最新事情からスクリプト言語への考え方,そしてSunの置かれている現在の状況まで,幅広い質問に本音で答えてもらえました。

画像

「クラウド」はバズワード,Javaは昔からやっている

――Pythonや.NETは,それぞれGoogleとMicrosoftがクラウド対応を進めていますが,Javaでのクラウドコンピューティングについて,何か注目する動きがあれば教えてください。

ああクラウドね(ため息)。クラウドコンピューティングなんてのはおかしなバズワードだよ。Webホスティングをクラスタ的に使うための技術で,これまでも呼び名が違うだけで,さまざまな人がJavaにおいても何年も努力してきた技術だ。こうしたインフラの中で最も大規模なものとしてAmazon EC2があるけれど,これはJavaアプリケーションに対応したシステムだ。

基調講演で言ったように,Javaの核となるJVM(Java Virtual Machine)にはいろいろな活用形態があるけど,クラウドコンピューティングもその1つだ。JVMを使ってスクリプト言語を組み合わせることによって,違う言語を連携して動作させることもできる。一方,Javaのコードで書かれた機能をマシン間で簡単に移す機能がある。これをJava Spacesと呼んでいるが,これを利用してコンピュータクラウドを形成できる。Java Spacesによって,オペレーションとハードウェアを分離し,ハードウェアによるアーキテクチャの違いをや言語の違いを吸収したクラウド作ることができるんだ。

――JavaSpacesとはなつかしいですね。Sun内部でまだ使っているんですか?

ええと,JavaSpacesの技術自体はもうかなり前にコミュニティに引き継がれていて,我々は別の「標準化」の作業にとりかかっている。標準化された技術というのは,同じ機能をもつ過去の技術に比べてパワーが落ちることもある。たとえばGlassFish v2に「クラスタリングファシリティ」というのがあるが,これはクラウド的な振る舞いを実現するもの。ただし,これは動作が遅い。なぜなら,世界的な標準に則って実装を進めたからだ。これに対して,JavaSpacesはJava世界のフィーチャに依存した実装なので,他の言語との相性は悪いが,動作は速い。

今ではJVM上にいろいろなスクリプト言語が乗るようになっている。以前は非常に難しかったことが実現しているんだ。このようなWebサービスの標準化委員会がやってきた方向というのは,元々我々がJiniやJavaSpacesで達成したものよりも弱い。ただし,複数の言語をサポートできるという強みを持っている。それが標準となっているので,我々もそれに準拠するということだ。

Javaはスケールアップにも対応できる

――では逆に,今後のコンピュータパワーの増大に伴って,新しく実現していく機能やテクノロジとして考えられるものは何かありますか?

画像

うーん。これは幅広い分野をカバーしていて答えるのが難しいな。すでにすごいパワーで動くものがあるということは皆も見ている思うんだけど,それがとくに現れているのはコンピュータゲームかもしれない。リアルで生きているような表現もできるようになってきた。基調講演のときに見せたデモも,Java Game Engineを使ってもっとすごいものにできる。映画,ストーリーテリングがこうした強力なゲームエンジン,そしてネットワークの組み合わせでどんどん変わってきている。この間の大統領選挙でもインターネットを使った新しいクリエイティブな取り組みがあったし,もっとバンド幅が広がると,ダイナミックメディアの使われ方も変わってくると思うし,一般の人がもっとジャーナリスティックに活動できるようになると思う。

――マルチコアのシステムに限ると,たとえば数千コアのシステムが実現した場合,JVMはいまのモデルでスケールアップできるのか見通しはありますか?

今でも256コアまでは対応できているし,Javaアプリケーションの中には何千ものスレッドをハンドリングしているものがある。これはまさに「バーチャルコア」と呼べるものだ。今後扱うコア数が増えたら,想像のつかない問題も出てくるだろうけれど,その問題の大部分はJVMそのものではなく,その上で動くプログラムモデルに関わるものになると思う。プログラムで行う処理をマルチコアにどのようにマッピングしていくかということだ。さいわい,エンタープライズのトランザクションについては,現在でもマルチコアにうまく載せ替えることができている。GlassFishについてもそう。

今後,数値演算アルゴリズムなどについては,かなり難しいことになるだろうと思うけど,それよりも一般的なスクトップモデルで問題になってくるのは,グラフィックスになるだろう。どのようにビデオメモリを使い,イメージをレンダリングしていくかというところだ。いまの段階ではこれはうまくいっている。レイトレーシングソフトなどは,うまくマルチコアを使っている例だ。ただ,今行っているやり方は,マルチコアでの問題を全部解決するものではない。マルチコアに処理を分解するには,それぞれのソフトウェアでの対応法しか見い出せていないんだ。

――今のコンピュータパワーや状況の下で,もしあなたが20代,30代だったらどういう技術にチャレンジしたいですか?

グラフィックスだね。3Dのモデリングツールなんかに関わっているだろう。もちろんJavaを使ってね(笑)。

JDKのバージョンアップを巡る問題

――JDK 7について教えてください。とくにクロージャ導入について。

JDK 7にクロージャが入るかどうかは,まだ決まっていない。僕は含まれるべきだと思っている。いまインタークラスというのがあって,これはクロージャへの第一歩と言うべきものだが,僕ははじめからクロージャを実装すればいいと思う。これは今一番ホットなトピックで,コミュニティの意見が真っ二つになっている。僕が入っている派はクロージャを使えばアプリケーション開発がシンプルになるし,開発者の作業も簡単になるという意見。反対派の意見は,これ以上言語をいろいろいじるといずれ問題が出てくるかもしれない。最小限の変更にとどめるべきだというものだ。

後者の意見にも関係あるが,コミュニティの問題は,多くの参加者が,JDKの新しいリリースが出てきても追いつけないという点だ。JDK6というのが現在の最新だが,エンタープライズの人たちはいまだにJDK4を使っている人が多い。彼らをアップデートさせるのはとんでもなく大変なんだ。こうした人たちからは「もっとゆっくりと進んでくれないとついて行けない」という意見が出てきた。だから,JDK6よりも7のほうが時間がかかっている。我々はJDKのアップグレードよりも,JavaFXなどの周辺技術に注力しているんだ。

――いまだにJDK1.4などの古いJDKを使っている人がいるのはなぜでしょうか?

まったく悲惨なことなのだけど,一番大きな理由は技術的なことではない。つまりコストの問題なんだ。たとえばJDK1.4.xで認定されているIBM WebSphereに10万ドルものお金を払っていると,もしそれがJDK6で動いたとしても,IBMからサポートを受けるためにはJDK 6で認定されたWebSphereをさらに10万ドルかけてアップデートしなければならない。WebLogicやOracleなどのJava製品もすべてそうだ。どの企業もそういうライセンス体系を取っているので,今現在ちゃんと機能していれば,わざわざ大金をかけて最新のJDKにバージョンアップすることはない。そのまま使い続けることになる。

コメント

コメントの記入

パスサポ

多数の情報処理技術者試験対策書籍の発行実績を誇る技術評論社がお届けする,資格試験合格サイト「めざせ! 情報処理試験 パスサポ」が開設されました。

ピックアップ

サクセスストーリーに続く,快適サーバー運用管理のヒント!

データの増大,煩雑な管理,システムダウン,セキュリティなど,迫りくる課題からシステム管理者の負担を軽くするポイントを解説します。

gihyo.jp インフラエンジニア情報局

ネットワークやITにかかわるあらゆる業種で必要とされるインフラエンジニアに向けた技術情報や心構え,その魅力について多角的に紹介。

テストエンジニア ステーション

いま,ITに関わるあらゆる開発業務で注目されつつあるテスト系エンジニアをターゲットにしたコンテンツサイトを展開します。

一行クイックアンケート

gihyo.jpで取り上げてほしいネタは?

※検索はページ右上の検索ボックスをご利用ください。

その他の連載

Ubuntu Weekly Recipe

Ubuntuの強力なデスクトップ機能を活用するための,いろいろなレシピをお届けします。

C/C++プログラマのためのDTrace入門

よくカーネルのチューニングや解析で活用されるDTraceですが,実はユーザプログラムの開発においても非常に有用です。連載ではC/C++プログラマやテストに関わる方向けにDTraceの使い方を解説します。

Blogopolisから学ぶ計算幾何

計算幾何学は,図形に関するアルゴリズムを研究するコンピュータサイエンスの一分野です。本連載では,ビジュアルブログ検索エンジン「Blogopolis」で採用されている計算幾何のアプローチを例に取り上げながら,計算幾何の初歩を実践的に学習します。

検索エンジンはいかにして動くのか?

本連載では, 今や誰もが利用している検索エンジンの中身を,全体の仕組みやデータ構造,アルゴリズムから分散インデックスまで,最近の研究事例も交えて紹介します。

サイエンスに片思い

本連載では,サイエンスという学問を軸に,そこから広がる可能性やつながり,そしてWebの世界との関係について,前田邦宏氏がさまざまな取材を元に考察し,これからの可能性について展望します。

使ってみよう! Windows Live SDK/API

Windows Liveサービスの一部にはAPIやSDKとして提供されているものがあります。本連載では各API・SDKの紹介とそれらを利用したアプリケーションを開発していきます。

Lifelog~毎日保存したログから見えてくる個性

コンピュータを使って,日常のさまざまなことの記録(ログ)をとり,それを分析して活用することで,もう一段階上の「楽な生活」をめざす日々の研究報告です。

もっと便利に!jQueryでラクラクサイト制作(実践サンプル付き)

本連載では,実践サンプルとともに,jQueryを上手に活用してサイト制作の品質向上・効率化を実現するための実践テクニックを解説します。

連載一覧

gihyo.jp

  • DEVELOPER STAGE
  • ADMINISTRATOR STAGE
  • WEB+DESIGN STAGE
  • LIFESTYLE STAGE
  • SCIENCE STAGE
  • NEWS & REPORT

書籍案内

  • 新刊書籍
  • 書籍ジャンル一覧
  • 書籍シリーズ一覧
  • 新刊ピックアップ
  • ロングセラー
  • 電脳会議

定期刊行物一覧

  • Software Design
  • WEB+DB PRESS
  • Web Site Expert
  • 組込みプレス