基盤ソフトウェア研究 (その2)
現在はGoogleに所属するRob Pikeの2000年時点での講演資料を前回から紐解いている。OSやプログラミング言語などの基盤ソフトウェアに関する研究が衰退していることに対する嘆きである。元の資料はプレゼン資料なのでここで紹介するのは私が勝手に行間を埋めた意訳ということになる。
「基盤ソフトウェアにおいてイノベーションはどこにある? 1990年と2000年のMicrosoftを比べてみると分かるように、ほとんどはMicrosoftにあると言える。皆さんは、それはイノベーションではなくてコピーだと言うかもしれないが、私に言わせれば、Javaは C++のコピー、Windowsは Macのコピーである。IT業界は、おもしろいが技術的にイマイチだった基盤ソフトウェアを改善してきた。基盤ソフトウェア研究が今日的な意義をもつなら、70年代や80年代のときと同じように、業界を席巻する新しいOSや新しい言語が出てきているはずだ。まったく研究を無視したソフトウェア産業の繁栄、それに、ソフトウェアよりも論文を書いている研究コミュニティが問題である。」
「Linuxだってそうである。Linuxはイノベーションか? 新しいか? いやいや、古きUNIXのコピーではないか。Linux上のプログラム開発とMicrosoft Visual StudioやIBMのJava/Webツールキットを比べてみて欲しい。数十年培ってきたUNIXのクローンであるLinuxによってもたらされた興奮は、基盤ソフトウェア研究コミュニティが充たすことができなかった空虚感を表している。Linuxのうまいところは、ソフトウェアそのものではなく、開発モデルであり、アカデミックなソフトウェア工学の勝利ではない。」
「最近の基盤ソフトウェア研究というと、Webキャッシュ、Webサーバ、ファイルシステム、NWパケット遅延、などなどで、性能、周辺技術、アプリであって、カーネルはなく、ユーザレベルのアプリもない。ほとんどが単なる計測。 科学的手法の誤理解、誤適用である。現象論だらけで、発明は観察に取って代わられたと言える。今日なんか、LinuxとWindowsにおける割り込みレイテンシを比較する論文を見た。確かに興味深いかもしれないし、今日的かもしれないが、それは研究ではない。性能のどうでもいい詳細、くだらない図表、どれもこれも計測であり、科学的な試みではない。」
「対照的に、新言語やOSはマシンを違ったものに感じさせ、興奮させ、新規性を生む。しかし、今日、これらはクールなWebサイトや、高いCPUクロック、キュートな小さいデバイスによってなされている。本来はコンピュータであるはずべきなのに。アートは死んだ。基盤ソフトウェア研究は単なる科学ではなく、エンジニアリングであり、デザインであり、アートであるべきだ。」
確かに彼の言うとおりである。わくわくするような研究は基盤ソフトウェアの世界では見なくなってしまった。根本的な原因は、この分野がコモディティ化してしまったためであろう。コモディティ化が起こると、どんなハードウェアの上でも走行するOSや、標準化されたインタフェースが求められる。枯れた技術の方が安定していて信頼できるということもある。




