仮にあなたが古くから、例えば 1999 年から Ruby を使っていたと仮定しよう。
おそらく、あなたは ruby-list ML を購読していたはずである。 なにせ、まつもとさんによる世界初の Ruby 解説書、 『オブジェクト指向スクリプト言語 Ruby』ですら 発行されたのはその年の秋のことだ。 当時はメーリングリストのメールを読んでいなければ、 まともに Ruby の情報を得ることができなかったのだ。
そしてあなたは、きっとこんなメール ([ruby-list:17335] rubyunit) を読んでいたはずである。
助田です.
突然ですが,Kent Beck の Testing Framework を ご存知でしょうか? 私は良く知らないのですが,友人から Ruby 版が あるかと聞かれたので友人に内容を確認しつつ 作ってみました. (略)
もちろんあなたはここに書いてあるメールの URL にアクセスするだろう。 実は URL が間違っているのはご愛嬌だが、そこに書かれているサイトの一つ、 その「友人」の方が書かれている 「Kent Beck Testing Framework 入門」というドキュメントを読むことになるだろう。 ……読んでどのように思われるだろうか? もしかしたら、あなたはその時すでに「デザインパターン」本、 通称 GoF 本のことはもう知っていたかもしれない。けれど、 C++ や Smalltalk のことはあまり知らず、GUI のツールキットの話も ぴんとこなかったのであれば、 これを読んでデザインパターンの応用について、 蒙を啓かれる思いを持ったかもしれない。 そして、Kent Beck の XP 入門本が翻訳される遥か以前に、 eXtreme Programming やテスト駆動開発へとつながる 「テストファースト」という手法について、 実装面からもアプローチすることができただろう。
あるいは、また別の機会に同じサイトを見に行き、 今度は 「Open-Closed Principle とデザインパターン」 を読んでみたとしよう。 ひょっとして「OOSC」こと B.メイヤーの「オブジェクト指向入門」を 読んでいれば、OCP(開放/閉鎖原則)くらい知っていたかもしれない。 けれど、あなたも私のようにその当時にはまだ読んでいなかったのであれば、 まだまだ聞きなれない言葉だったはずである。 その OCP の紹介記事でもあり、また「デザインパターン」に関する ものめずらしい、しかしながら本質的な視点からの解説記事でもある この文章を読めば、 カタログとしてフラットに並べられたパターンに対して、 OCP という明快な切り口があることを、 平易な説明を通して理解することができただろう。
あるいは、あなたが 2003 年か 2004 年ごろ、この Rubyist Magazine が 発刊される以前に、Ruby の Win32OLE を使おうとしていたとしよう。 そのときにはもちろん arton さんの優れた Windows における Ruby の解説書、 『Rubyを256倍使う本邪道編』は出ていた。 が、ひょっとして ASR を使わないため読んでなかったとか、 あるいは自分のやりたいことが直接書かれていなかったりとか、 そもそも Windows の API やらオブジェクトモデルやらに明るくないとかで、 もっと他のサンプルを探していたかもしれない。 であれば、あなたはきっと検索エンジンか何かのお世話になり、 「Ruby による Win32OLE プログラミング」 のページにたどり着いていただろう。 今でもそうだが、 Rubyist Magazine で掲載されている Win32OLE の記事もまだ存在していない 当時では、Win32OLE に関する実践的な解説として、とても貴重な文書だった。
あなたはきっと、このサイトにあるめぼしいコンテンツを一通り読んだ後、 この人の書いたものを他にも読みたい、と思うだろう。 さらには、この人に会ってみたい、機会があれば話をしてみたい、 と思うかもしれない。
けれど、もし今までそのような機会に恵まれていなかったのであれば、 それはもう叶わない。叶う日は、永遠に来ない。
「とてもはっきりしている処から、話しましょうか。……あのね、 人はね……死ぬのよ」 ――新井素子『チグリスとユーフラテス』(集英社)より
人は死ぬ。いつかは死ぬ。だから問題は、いつ死ぬのか、である。
もう死んでいいという時があるとは思いたくない。 けれど、死ぬにはあまりに早すぎる、 と誰しもが思ってしまうことは確かにある。 そんな死に方をしていいのか、そんなときに亡くなってしまっていいのか、 と思ってしまうことはある。 そして、それなのに、そのようなことが起きてしまうことがある。 そのようなことが現実になってしまい、 あるべきことと起きてしまったことの落差に愕然としてしまうことがある。
訃報は唐突だった。どこで見たのが最初だったかは覚えていない。 けれども嫌な感じはあった。いくつかのサイトで気になることが書かれていた のを見て、ひょっとして、と思った。間違いないと知ったのは、 結城浩さんによる石井勝さんことまさーるさんの訃報のページだった。
家に帰り、まさーるさんのサイトに残された文章を読んでいるうちに、 思わず嗚咽が漏れた。 会ったことなど一度もないのに、 声を聞いたこともないのに、 顔を見たこともないのに、 もしかするとどこかのイベントですれ違っていたかもしれないが、 とにかく一面識もない方の訃報なのに、 涙が止まらなかった。
繰り返すが、私とまさーるさんの縁はほとんど何もない。 ネット上で、メールやその他の場所でのやりとりすらかわしたこともない。 私が勝手にまさーるさんの書かれた記事を読んでいただけだ。 ObjectClub - 石井勝さん追悼 のページに書かれているような、 日本のオブジェクト指向界での「数多くの功績」のうちのごく一部しか知らない私は、 本当に純粋な、Web に掲載された文章の書き手と読み手の関係しか持ち得なかった。 そのような方への追悼の言葉を書き記しても、 どこかよそよそしいものにしかならないような気がする。
ただ、Ruby をもっとよく使いこなしたい、オブジェクト指向をもっとよく 理解したいと思っていた数年前の、そして現在の私にとって、 まさーるさんの残した文章がどれほどの影響を持っていたか、 私がどれほど助けられたか、 それだけは書いておきたかった。 ドキュメンテーションなどで Ruby と Rubyist に影響を与えた方の中には、 Ruby のコミュニティ内ではあまり目立たれていない方も少なくないと思われる。 そのような方の一人として、まさーるさんという方がいたことを、 Rubyist Magazine を読まれている方々には、知っておいてほしかった。
まさーるさんが書かれた文書は、 確かに自分の血肉の一部になっていると思う。 そのような優れた文書を書かれたことに、 心から感謝している。 そして、それから得たものを糧にしつつ、 まさーるさんが書かれていたような、 オブジェクト指向やソフトウェア開発や Ruby について語る文章 (それがまさーるさんの書かれていたようなものに適うかどうかはともかく)を 掲載する場を提供している雑誌に名前を連ねていることを、 心から誇りに思っている。
Rubyist Magazine 第 6 号をお届けする。
(るびま編集長 高橋征義)