Go to Contents Go to Java Page

JavaOne 2002 in SF Report

 
 

9/26 第 2 日

 
 

第 2 日目のレポートです。

今日は夜に Night for Java Technology の行われたので、そちらもレポートしたいと思います。Night for Java Technology に参加したということは、BOF には参加しなかったので BOF のレポートは今日はお休みです。

まずは Keynote から。

 

 
 

Keynote Session

 
 

こういう順番で書くと、Keynote が朝一で行われたようですが、実際はランチの後に行われています。

今日は James Gosling が登場しますが、そのわりにはプレスの席がずいぶん開いているように思えました。確かに今日の Keynote はとりたてて報道するほどのことはないように思うんですが、それにしても少なすぎ。

はじめのスピーカは KDDI の安田さん、次が富士通の田中さんです。

今日は昨日はなかった演台がステージ中央に置かれています。なぜだと思いますか。答えは、この 2 人が原稿をおくために必要だったからです。

なさけないですね、単に原稿読んでいるだけなんて。これじゃ、アピールできるスピーチは到底無理というものです。全然訴えかけてこない。誰も聞いていない結婚式のスピーチのようなものです。暗記できなければ、メモを使うなり文明の利器であるプロンプターを使うなりすればいいのに。

また、姿勢も悪すぎです。背筋を伸ばして、きちんとたたないと、ステージの上ですごく貧相に見えてしまいます。講演中も常に身体を揺らしているので、それがすごく気になってしまいます。

これじゃ、どんなにスピーチの内容がおもしろくても、魅力半減どころか聞く気もうせてしまいます。

やはり、企業の中である程度の身分にある人は、プレゼン技術の習得を必須にしなくてはだめですね。

James Gosling, Sun Microsystems

次のスピーカーはあの James Gosling です。やはり、おなじみのスリングショットを使った T シャツ投げから始まりました。

今回の彼のスピーチははっきりいってあまりおもしろくなかったです。話題が首尾一貫しているのではなく、あっちへいったりこっちの話題に振ってみたりで結局焦点がぼやけてしまっていました。

三菱のカーナビのデモや、James Gosling が関わっている火星探査用の無人車両を紹介し、Java の Killer Architecture としての有用性を説いていました。

また、現代はさまざまな意味で発散しています。それはノード、コネクション、アーキテクチャであったり、デベロッパーやユーザなど、本当にいろいろな意味を含んでいます。そういう時代において Java の役割は Conceptual な Framework であり、Community であり、ヘテロな現実を単一に見ることのできるようにするための技術であると説明しました。

 

 
 

Technical Session

 
 

今日、聴講したのは

  • TS-1029 Connected Limited Device Configuration HotSpot Implementation 1.0
  • TS-1019 Java 2 Platform, Start Edition を用いたネットワーキング: その現状と未来
  • TS-1018 プログミング・パズラー

TS-1029 は以前は Project Monty と呼ばれていた CLDC 用の VM ですが、SF とほとんど一緒だったので割愛します。

 

 
 

TS-1019 Java 2 Platform, Start Edition を用いたネットワーキング: その現状と未来
Ram Marti, Sun Microsystems

 
 

J2SE 1.4 のネットワーキングに関するセッションで、主に 1.4 の新機能と強化された部分の説明を行いました。取り上げられた主な話題は

  1. IPv6
  2. Unconnected Socket
  3. java.net.URI
  4. java.net.NetworkInterface
  5. java.net.URLConnection の機能強化
  6. Name Service のサポート強化
  7. Secure Socket (javax.net / javax.net.ssl パッケージ)

IPv6 は Solaris と Linux で使用できます。IPv6 でもソース中に IPv4 のアドレスを直接記述したような場合を除き、書き換える必要はありません。IPv6 を導入したため、新たに Inet4Address と Inet6Address が導入されました。

Unconnected Socket は接続していないソケットで、例えば bind する前にソケットのオプションを設定することなどが可能です。NetworkInterface クラスは UNIX だと le0 とか eth0 とかで表されるネットワークインタフェースを表すクラスです。URLConnection は、FTP の PUT が扱えるようになったことや、HTTP のエラーを取得できるようになりました。

 

 
 

TS-1018 プログミング・パズラー
Joshua Bloch, Sun Microsystems
Neal Gafter, Sun Microsystems

 
 

なんか不思議なセッションで通常のセッションと BOF の両方にカウントされてました。まぁ、そんなことはどうでもいいのですが。

Joshua Bloch

このセッションは Effectiv Java の著者の Joshua Bloch と Neal Gafter が腕によりをかけて作ったプログラミングパズルを出題するというセッションです。なぜか、Bloch と Gafter はつなぎを着て登壇してました。

壇上には 4 人の回答者がいて、その実力を試すという趣旨です。優勝者には粗品が贈られました。

出題されたパズルは問題のプログラムがどのような出力をするかを当てるというものです。答えは選択方式で、ほとんど 3 択か 4 択です。パズルは全部で 10 問。かなり難しいです。

全部のパズルをメモしてきているので、紹介したいのですが、それをやると多分著作権に引っかかってしまうと思うのですが... かといってぜんぜんなしというのもつまらないので、引用ということで 1 問だけ載せておきます。

後日、PDF が公開されると思うので興味のある方はそちらをどうぞ。また、SF の JavaOne での PDF が公開されています。

問題

    public class Trival {
        public static void main(String[] args) {
            System.out.print('H');
            System.out.print('a');
            System.out.print('H' + 'a');
        }      
    }

答えの選択肢まではメモしなかったのですが、答えは分かりますか?

答え

    Ha169

どうですか、当たりましたか?

なんでこんな答えになるんでしょうか。それは最後の println メソッドの内部の 'H' + 'a' は int になるからです。出力結果が HaHa になるようにするには

    System.out.print("" + 'H' + 'a');

というようにダミーの文字列を先頭に入れるか

    System.out.print("H" + "a");

のように初めから文字列として扱うようにします。

こんな風にならないように文字の連結には注意を払いましょうというのが Bloch たちのまとめです。

こんな問題が 10 問。結構難しくて、外してしまったものも多かったです。しかし、「こんなコード書かないよなぁ」というのも結構ありましたが。

 
 

Night for Java Technology

 
 

今年も行われました Night for Java Technology。今年はなんと船上で行われました。豪華客船による湾内クルーズ、しかしきれいな夜景など全然見るひまがありませんでした ^^;;

Night for Java Technology 会場
Night for Java Technology 会場

去年は Hard Rock Cafe で行われて、ものすごく盛り上がりました。今年はどうなることやら。かなり、期待が大きかったのです。

総評的には、みんないいものを作ってきているのにプレゼンテーションでずいぶん損をしているなというところです。もっと、うまくプレゼンしていれば、もっとずっとおもしろいのにと思うものが結構ありました。

メイン会場
メイン会場

また、今年は会場に問題があったように思います。去年の Hard Rock Cafe でのすし詰め状態の方がまだよかったです。それというのも、会場が何箇所かに分散されていたのですが、会場ごとに盛り上がりが異なり、全体での一体感が書けていたような気がしたということ。

また、メイン会場には写真では見にくいのですが、キャビンにヤシの木ににせた柱が何本かあり、このために窓際の席では非常に見にくくなっていたという点。

でも、それなりに盛り上がって、日本の Java の開発者の底意地を見たような気がします。また、会場には James Gosling, John Gage, Rob Gingel など有名人が、また JavaHouse の高木さんや Ja-Jakarta の風間さんなども参加されていました。

さて、エントリされたのは次の 15 組です。

No. Title Demonstrator
1
Java Bike - Ecological Network Vehicle for True Anytime Anywhere
2
GameBoy Emulator on Real Mobile Phone
Kouji Hisanou
3
Feeling Chat
Toshiya Ando
4
Yuuki Hirota
5
XML Programing Shell
Harada
6
Satoru Sugihara
7
Naoji Taniguchi
8
Shuji Satou
9
Takashi Satou
10
Kobayashi
11
Ichiro Tanaka
12
Takashi Miyake
13
14
15

一番初めの Java Bike はすごいインパクトがあっておもしろいプレゼンでした (Java Bike の写真は ZDNet に掲載されてました)。他の方たちもこれぐらいインパクトがあればもっと盛り上がったと思うのですが...

GameBoy のエミュレータはここまでやるかという感じです。デモではマリオブラザースをプレイしてました。Feeling Chat はプレゼンの資料には Emotion Chat となっていたのですが、実際はどちらなのでしょう。チャットのウィンドウの横に感情を表すグラフィックが表示されており、これが感情によって色や形を変えていくものです。

ROBOCUBE は Java で動作するロボットです。ハードウェアがデモされたのは (Java Bike を除いて) 初めてだったのですが、もうちょっとデモがうまくいけば...

VLAN .Config はネットワーク設計を行うためのグラフィックツールでネットワークのトポロジーなどをすぐにグラフィック表現できるようです。デモでも簡単に書いた絵が、そのままネットワークのシミュレーションしてくれました。

審査結果の発表の前に、アップル、Borland、シャープ、京セラの各社のプレゼンがやはり 5 分間で行われました。この中で、見せてくれたのが Borland とシャープです。

Borland の新井さんは JBuilder Mobile Set を使用して、たった 5 分間で iAppli と MIDP のアプリを作って見せてくれました。さすが、手馴れています。

シャープの音川さんは Linux Zaurus で Tomcat を動作させて、3 台の Zaurus (1 台のサーバと 2 台のクライアント) で囲碁をやってみせてくれました。まさか、Zaurus をサーバにしようとは思いもよりませんでした。

最後に審査結果が発表されました。

1 位
jFD
2 位
ColorFL
3 位
DRAGRI
4 位
TaQQ (Ping-Pong)
特別賞
The Artificial Intelligence Tool Which Assists Human in Various Scenes

1 位の jFD は往年の MS-DOS 上で動いたファイラー FD を Java で作りなおしたものです。FD ファンは結構多いと思うのですが、そんなマニア心をくすぐるアプリです。GUI はどこへやら (一応 Swing のアプリケーションなのですが...)、CUI でここまでできるのを示すいい例だと思います。

2 位の ColorFL はグラフィックのためのスクリプトなのですが、そのスクリプトが色で表現されています。絵を書くために絵を書いたようなところがあって、その発想がとても面白いと思います。ColorFL の Web Site で実際にスクリプトを試せるのですが、やってみるとなかなか難しいですね。

3 位の DRAGRI は私的には 1 位でもいいと思うぐらいのアプリでした。インタラクティブに 3D アニメーションを行うのですが、自由度を持った部分が示されそれをマウスでぐりぐりできます。いわゆる 3D の CG ではなくて、本当に普通の実写の映像でこのようなインタラクティブ性を持たせられるところがすごいです。プレゼンではムービの作成も行い、James Gosling がバンザイをするムービがあっという間にできたのは驚きでした。

すごいのは DRAGRI 自身だけでなく、副賞の商品もすごかったです。なんと JBuilder Enterprise の英語、日本語、フランス語、ドイツ語版のセットです。

4 位の TaQQ はネットワーク対戦対応の卓球ゲームです。去年 GetAmped をエントリーされていた方なので、2 年連続の入賞です。このゲームはファミレスのガストで遊ぶことができるらしいです。このため、マウスやキーボードではなく、タッチパネルで入力します。グラフィックはすばらしいのですが、去年の GetAmped に比べるとインパクトが低くなってしまうのはしかたがないのでしょう。逆にいえば、GetAmped のインパクトが強烈だったということでもあります。また、TaQQ では、なぜか、トンパ文字でチャットもできます。

特別賞は AI をもっといろいろ使えるようにするためのフレームワークとでも言えばいいのでしょうか。AI のエンジンをコンポーネント化し、それにインタフェースをつけたり組み合わせることで、すぐにアプリケーションに AI を付け加えることができるというものです。プレゼンでは画像検索の例をデモしていました。しかし、5 分のプレゼンはあまりにも短い。もっと長い時間でちゃんとプレゼンを聞いてみたくなりました。

製品化されているものから、個人で作成されたものまでいろいろありましたが、こういうデモ大会はやっぱりおもしろいですね。来年もぜひ続けてもらいたいです。でも、船はもういいので、来年はドックヤードガーデンなんかどうでしょう。

 

 
 

おまけ

 
 
Dukes
大、中、小とゴム Duke
(ちなみに小は 2個)

今年の JavaOne の Goods ショップではとても珍しく、大 Duke と中 Duke が売られていました。ここ 2, 3 年、小 Duke 以外の Duke のぬいぐるみを見ていなかったのでびっくりしました。

それを知ってか知らずか、今日はすでに売り切れていました。人気あるんですね。

その割には Duke と一緒に写真をとる場所は閑散としていて、Duke が 1 人ぽつねんと立っていたりするんですが。Disney Land の Mickey Mouse ほどではないわけですね。

(2002.9.26)

 
 
Go to Contents Go to Java Page