Servoの夢
Rustについて、自分としては流行ってくれなくてもいいというか、別に流行ること自体は本当にどうでもよくて、言語自体の完成とServoが形になってくれさえすればそれでいいと思っている。Rust Samuraiなんてイベントやってるけれども、個人的に普及させる気がないと常々言っているのはこれが理由。
もちろん流行ることによるメリットはあって、処理系自体の改良に携わる人数の増加や、有為なツール群が出てきやすくなる土台ができるのでコミュニティにとっては重要なのだけど、個人的には二の次で、自分の第一目標はServoなんだな。
Mozillaという名前を聞いただけで抵抗感を感じる人がいるのは知っているし(それこそ泥舟のように避ける人も知ってる)、今も昔もMozillaの動きに「胡散臭さ」が伴うのは周知の通りだし、本当にハンドリングが下手だなと思うときもあるけれども、それでも、出してくる技術はイカれてて面白いし、やっぱりOSSだから進捗がしょっちゅう公開されるというのは楽しい。
Rust langが普及するか?と聞かれたら、普及の定義次第なところもあるけれども、個人的には難しいと思う。ずっとC++の首を狙うDもいるし(当然固定客がいる)、そもそもC++書ける人はそれでいいと思ってることもあるし(ここらへんaltJSとESerの関係に似てる)、最近だとUNIX+C+Googleという化物のようなブランド力を誇るGolang様もいるし(おまけにGoは地味に周辺が整ってる)。C++/Rust/Dとは用途が微妙に違うとはいっても、LLに比べればGoの速度で十分だろうし、たいていの用途はGolangでいいんじゃないのかな。自分もgo覚えたいし。
じゃあ、Rustのどこに価値があるのかというと、それはServoなんじゃないのかな。というよりも、実プロダクトとしてのプログラミング言語はビジョンを具現化する道具にすぎなくて、その道具が実用に足ることを証明できなければ意味がない=その言語でビジョンを実現できなければ意味がない。研究発表と実プロダクトの境界線はここだと思う。学術価値のある新規性なんてRustが体得する必要性はない。
かつて「Servoはブラウザエンジン界のPlan9」と揶揄したことがあったけれども、もしかしたら本当にそうなるかもしれない。過去20年に及ぶ歴史の積み重ねはどうにも重たく、また、Servoが成そうとする並列化の夢も、既存の漸進的進化で解決がなされてしまうかもしれない。そもそもHTMLに裏打ちされたWebがどこまで有効であるのかもわからない。
けれども、そこには未だに語られなかったアーキテクチャのロマンがある。もはや語られなくなったインターネットとソフトウェアのアーキテクチャへのロマンがある。仮に夢が半ばで潰えたとしても、かならずそこから実を結ぶ何かがあるはずだ。そう信じなければやっていられない。
これがGoogleやAppleであれば、大切なことは社内で成果になってから表に出てくるのかもしれないけれども、幸いにしてMozillaは早くから表に出してくれた。坂を駆け上る途上のコードをお披露目してくれた。だからこそServoは楽しい。だからこそブラウザは楽しい。
たとえ見果てぬ夢だとしても、そこに自分の時間を賭けるだけの価値がある。そう信じている。