レストランの人に申し訳ない。移動その後、東京へ移動。くたびれたのでそのままホテルに移動。Ring今年もあるらしい。なんか毎年すごいサイトだなあ。Bean」かと思ったよ。昼食時に妻に「夕食は吉野家の牛丼でしょう」と言われた。いうチープな食事が好きだということを見ぬかれている。コンビニのおむすびでした。JapanSIerの老舗CECがOSSの「新たなビジネスモデル」を模索中、という話。いう発想も、新しいどころかむしろ古臭い印象を与える。2007年の話題でもないよなあ。一歩、新規性のある話題を期待したい。SolarisでDTraceが使えるようになったという話。Rubyが活躍した、ということだ。優れたプロファイルが提供されることはとてもありがたいことだ。問題は手元にSolarisがないことだな。会社にはSolarisサーバが一台あるけど。いうのが、リンク先のエントリ。このページを見に行くと、あなたのための128bitを用意してくれる。JavaパートナーであるJavaへの別れの言葉。「さよならJava」もう10年、一緒にやってきたけど、もうダメだと思う。君が悪いってわけじゃない、いや、やっぱり君が原因かな。僕はもっと若くてかわいい人に出会ってしまった。言いにくいんだけど、君は整形手術が必要だと思う。そもそもAWTの始め頃になにかが間違ってしまっていた。Swingでそれはさらに悪くなった。開発者が優れたユーザエクスペリエンスを構築するためのものなんだ。それにマイクロソフトを排除することばかり考えてた。Brayへのインタビュー。Bray)氏は、近い将来にプログラマが直面する問題は、CPUのコア数が増えてハードウェアの並列化が進むのに対して、現在使われている言語の多くで並列プログラミングのサポートが十分でないことだという。ブレイ氏は、こうした問題に対して2つの方向性で解決を模索しているという。1つはグーグルが作った分散処理のフレームワークで「MapReduce」と呼ばれているもので、数万個のCPUで膨大なデータ処理をするといったときに有効だ。MapReduceをJavaで実装した「Hadoop」(ハドゥープ)というものがあるという。「Hadoopは外部ライブラリですが、Java言語自体で並列処理をサポートすることも必要」(ブレイ氏)といい、そのモデルとして2年ほど前から“Erlang”(アーラン)に注目しているという。「Erlangはエリクソンが開発した古い言語ですが、とても興味深い特徴を持っています。効率的にプログラムの並列化ができ、ふつうのAMDやインテルのCPUを使って25万スレッドを動かすこともできます。Erlangはオブジェクト指向言語ではなく、関数型言語です。入れていこうと考えています」。Java上で動くRubyの実装であるJRubyが、本家Rubyより先にこうした並列処理サポートを取り込む可能性もあるという。関数型言語は、一般的な言語とコードの書き方が大きく異なるものの、いずれJavaに関数型プログラミングの要素を入れていくことも必要だとブレイ氏は語る。「関数型プログラミングは、並列プログラミングに適しているばかりでなく、テストもやりやすいのです」。関数型プログラミングに対して感じる違和感について、「かつて、オブジェクト指向プログラミングは難しすぎて一般プログラマには習得できないといわれていましたが、今では当たり前のように使われていますよね。関数型プログラミングについても同様かもしれません」と楽観的な見方もあると指摘する。有効である点においては同じところを見ているような気がする。Java上で動くRubyの実装であるJRubyが、本家Rubyより先にこうした並列処理サポートを取り込む可能性もあるという。負けてはいられないなあ。NewsSunがオープンソース開発者に報酬を与えるというような話。「お金だけが動機ではない」というごく普通の「オープンソース開発者」のコメントが続いている。それはそれで歓迎すべきことである。いわゆる「オープンソース開発者」全体からいえばごくわずかであるとしても。本当は日曜日が〆切だった。今回のテーマは「APLとJ」。簡単に触れるだけで、実際のサンプルは簡単なJで。いえ、考えてみるとAPLってのは40年前にMapReduceを実現してるんだよなあ。