SIerの老舗CECがOSSの「新たなビジネスモデル」を模索中、という話。
あくまでも「模索中」であるせいか、 全然目新しさがない。商用ソフトとOSSを適材適所で組み合わせる という発想も、新しいどころかむしろ古臭い印象を与える。
日本で、大手SIerさえもOSSを無視できない、という点は やや話題性があると考えられないこともないが、 2007年の話題でもないよなあ。
もう一歩、新規性のある話題を期待したい。
Ruby on SolarisでDTraceが使えるようになったという話。
噂によるとTwitterのパフォーマンス危機の際には、 (サーバがSolarisだったので)DTrace for Rubyが活躍した、ということだ。
プロファイリングはパフォーマンス改善の基本なので、 優れたプロファイルが提供されることはとてもありがたいことだ。 問題は手元にSolarisがないことだな。
会社にはSolarisサーバが一台あるけど。
AACS LAがBlu-ray Diskのキー(09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0)*1を 載せているサイトに削除するように要請した、という事件から あちこちで祭りが起きているのだが、 AACS LAが128bitキーの「所有権」を主張できるのあれば、 私も同様に主張できるはず というのが、リンク先のエントリ。
このページを見に行くと、あなたのための128bitを用意してくれる。 ちなみに私の128bitは
A8 91 34 24 E1 7D 66 DD 5D 70 94 A5 D4 45 EA CF
であった。
*1 これを載せたので私のところにも通告が来るのかな
パートナーであるJavaへの別れの言葉。「さよならJava」
もう10年、一緒にやってきたけど、もうダメだと思う。 君が悪いってわけじゃない、いや、やっぱり君が原因かな。 僕はもっと若くてかわいい人に出会ってしまった。 そう、君の妹、C#さ。
言いにくいんだけど、君は整形手術が必要だと思う。
そもそもAWTの始め頃になにかが間違ってしまっていた。 Swingでそれはさらに悪くなった。
君はわかってない。ユーザインタフェースフレームワークの目的は 開発者が優れたユーザエクスペリエンスを構築するためのものなんだ。 それなのに君は美しいAPIやプラットフォーム中立性、 それにマイクロソフトを排除することばかり考えてた。
(後略)
JavaOneでのTim Brayへのインタビュー。
注目すべき点
サン・マイクロシステムズでWebテクノロジー関連のディレクターを務めるティム・ブレイ(Tim Bray)氏は、近い将来にプログラマが直面する問題は、CPUのコア数が増えてハードウェアの並列化が進むのに対して、現在使われている言語の多くで並列プログラミングのサポートが十分でないことだという。
ブレイ氏は、こうした問題に対して2つの方向性で解決を模索しているという。1つはグーグルが作った分散処理のフレームワークで「MapReduce」と呼ばれているもので、数万個のCPUで膨大なデータ処理をするといったときに有効だ。すでに、MapReduceをJavaで実装した「Hadoop」(ハドゥープ)というものがあるという。
「Hadoopは外部ライブラリですが、Java言語自体で並列処理をサポートすることも必要」(ブレイ氏)といい、そのモデルとして2年ほど前から“Erlang”(アーラン)に注目しているという。「Erlangはエリクソンが開発した古い言語ですが、とても興味深い特徴を持っています。きわめて効率的にプログラムの並列化ができ、ふつうのAMDやインテルのCPUを使って25万スレッドを動かすこともできます。ただErlangはオブジェクト指向言語ではなく、関数型言語です。つまり、一般的な言語になじんだ、ほとんどのプログラマには奇異に感じられるので、われわれとしてはErlangが持っているいいところを、もっと身近なRubyやJava に入れていこうと考えています」。Java上で動くRubyの実装であるJRubyが、本家Rubyより先にこうした並列処理サポートを取り込む可能性もあるという。
関数型言語は、一般的な言語とコードの書き方が大きく異なるものの、いずれJavaに関数型プログラミングの要素を入れていくことも必要だとブレイ氏は語る。「関数型プログラミングは、並列プログラミングに適しているばかりでなく、テストもやりやすいのです」。関数型プログラミングに対して感じる違和感について、「かつて、オブジェクト指向プログラミングは難しすぎて一般プログラマには習得できないといわれていましたが、今では当たり前のように使われていますよね。関数型プログラミングについても同様かもしれません」と楽観的な見方もあると指摘する。
マルチコア上でのスケーラビリティが将来のキーとなる点、 関数型プログラミングの要素(って、どこまで考えてるんだろう)が 有効である点においては同じところを見ているような気がする。
しかし、
Java上で動くRubyの実装であるJRubyが、本家Rubyより先にこうした並列処理サポートを取り込む可能性もあるという。
ってのはどういうことよ。負けてはいられないなあ。
Sunがオープンソース開発者に報酬を与えるというような話。 「お金だけが動機ではない」というごく普通の「オープンソース開発者」のコメントが続いている。
詳細がわからないので、これ以上コメントするのは難しいが、 Sunがちゃんとしたプログラムを用意して、 オープンソース開発者がなんらかの報酬を得られる新しいチャネルができるというのであれば それはそれで歓迎すべきことである。
たとえ、それによって恩恵を受ける開発者が いわゆる「オープンソース開発者」全体からいえばごくわずかであるとしても。 当然ながら。
本当は日曜日が〆切だった。あせあせ。
今回のテーマは「APLとJ」。 APLはプログラムが、「読めない」、「書けない」、「表示できない」の三拍子なので、 簡単に触れるだけで、実際のサンプルは簡単なJで。
とはいえ、考えてみるとAPLってのは40年前にMapReduceを実現してるんだよなあ。 もちろん分散じゃないけど。