ガーベジコレクションをネタにSFを

大学1年か2年の頃、ガーベジコレクション (GC) の諸手法を知った時に、これをネタにSFが書けそうだなと思った。未来のディストピアで、定期的に人間がガーベジ・コレクションによって処分されていく世界。

ちょうど教養科目で哲学を取ったり、医学概論で医の倫理(パーソン説とか)をやっていた頃だ。ガーベジコレクションの仕組みを知ったのは Rubyソースコード完全解説 からだったと思うが、今見なおすと、それほど GC の諸手法が書いてあるわけでもないので、別の本かもしれない。

  • Mark and Sweep 方式

世界で「有用」とみなされる人間がルートオブジェクトになる。その人に「承認」された人間もマークされる。その繰り返しで人間を辿って行き、マークされなかった一人ぼっちたちが「処分」される。「人間保護団体」みたいなのが、一人ぼっちたちを片端しからマークして、処分されないように守ろうとするが……

  • 参照カウント方式

「この人は私にとって必要」というマークをつけあう。誰からも「必要」と言われなかった人が処分される。上の Mark and Sweep 方式と違い、ルートオブジェクトから辿れない人たちも、たがいにマークしあうことで身を守ることができる。ところが、「削除」されないために必要なマークの数が、1よりも多いように変更され……

……みたいな感じで、いろいろストーリを考えていた。

意外に思われるかもしれないが、私は昔は、物語を書くのが大好きだった。小学生の頃はノートにびっしりと、中学生になるとテキストエディタで何百KBも。高校の2年か3年の時、「自分には人間の感情が書けない」ということに気づいてぱったりと辞めてしまったけれど、大学に入ってからも設定だけ考えて遊ぶことが時々あった。

科学の先端と接触していたい

私はいわゆる「研究者」、特に「職業研究者」としてやっていくことは諦めた。種々の困難に負けて挫折したというのが半分、性格的にも向いてないと自覚したのが半分だ。#この辺は、ぼちぼち書いていきたい

例えば、プロ野球の監督になるという夢を持っていた小学生も、大人になれば諦める。いくら野球が好きで、毎日欠かさず観戦して、自分の意見を持って評論していても、所詮は素人の戯言、決して監督にはなれないと気づく。私がここで偉そうなことを書いて、後輩に持論を披露しても、アマチュアの放言の域を出ることはできない。

とはいえ、大人の野球趣味が無意味かというと、そんなことは決してないわけだ。好きという気持ちは本物だし、素人なりに観戦を楽しんでいる。私にとっての科学も、そういうものでありたい。実際、趣味として物理学や数学を楽しんで勉強し、ブログや Web サイトで勉強記録を披露している方々がいる。OS をフルスクラッチで開発してしまった人もいる。それが実用的なものかとか、コンテストで入賞するかとか、そういうことは関係ないのだ。楽しんでいればそれでよい。自己満足? それで結構!

ただし、紙と鉛筆とパソコン一台でできる学問と違って、実験系の科学は趣味でできることが限られる。私は学部生の頃、有機合成化学がやりたくてやりたくて仕方がなかった。だが、合成化学実験は趣味でやるわけにはいかない。器具や試薬を揃えるのにお金がかかるし(NMRは数千万円する)、有機溶媒や毒劇物の扱いに関する規制も多くて、個人で実験環境を整えるのはほとんど無理だ。エジソンファインマンが子供時代に屋根裏部屋や地下室に自分の実験室を持っていた話を聞くと羨ましいが、そういう19世紀〜20世紀前半の古き良きおおらかな空気は過去のものである。私の場合は、農学部の合成系のラボに頼み込んで summer student として修行させてもらうことで宿願を果たすことができたのだったが、これはとても幸運なケースだろう。他にもやってみたいことはいろいろあったが、断念したものは多い。

私はこういうことが辛い。世の中に面白そうなプロジェクトはたくさんあるが、スキルも経験も実績も人脈も何もかも不足しているので、参加することができない。一流グループのページには「我々は◯◯する技術を開発しました!」と書いてある。どんな技術なのか知りたくなる。シンポジウムでは論文発表前のわくわくするような成果が公開される。とても気になる。だが参加費は高いし、旅費もかかる。個人としておいそれと参加できるものではない。論文の公表を待ったところで、論文誌の購読にはお金がかかる(安いものでも1誌で年間5-10万円!)。しかも論文には結果だけを簡潔かつ「お上品に」書くので、結果に至る試行錯誤での面白いエピソードは記載されない。そういうのは研究者のセミナーに出ないと分からない情報だ。こうして、自分がのけ者にされているような疎外感を覚える。だが、それは当たり前のことだ。「ぼくの考えた最強の采配」があるからプロ野球チームを指揮させろという要求が通らないのと同じだ。「監督と話したい」というのすら無理だろう。プロは忙しいのである。アマチュアの戯言に付き合っている暇はない。

インターネットの普及で、こういった障壁が少しだけ緩和された。例えば、図書館の奥深くに秘蔵され、一流研究者の紹介状がないと閲覧できなかった貴重書が、デジタル化され無償で公開される。論文は Open Access 運動や機関レポジトリの発達で、出版から少し待てば閲覧可能なものが増えてきた。シンポジウムの録音や録画を公開してくれる寛大な学会も、ごくわずかではあるが出てきている。とても喜ばしいことだ。

そうはいっても、プロとアマチュアの間には明確な壁がある。唯一プログラミングだけが、過去の業績もコネも経歴も関係なく、作品だけで勝負できる世界なのかもしれない。科学ソフトウェアがオープンソースなプロジェクトとして開発されていれば、たとえ開発チームの一員でなくとも、博士号を持っていなくとも、自分のパッチが本当に有用なものなら採択してもらえる。メーリングリストで本職と議論することができる。実際、私の開発している分子ビューアは、私がアマチュアとしてオープンソースで開発を始めたものだが、Protein Data Bank という最大手のデータベースのモバイル向け公式アプリケーションに採用されている。他にも、いくつかのアカデミックなプロジェクトに使われている。最上の喜びである。

自分は生きている間に、二度とロータリー・エバポレータを回すことはないだろう。エバポレータからナスフラスコを取り外し、真空ラインに接続してさらに減圧する。コツンとナスフラスコに刺激を与えると、さっと真っ白に結晶化する化合物。あの快感を味わうことはもうない。スパコンでコードを実行することもないだろう。放射光施設で実験をすることもできない可能性が高い。だが、何らかの形で、最先端で何が行われているかを知りたいのだ。最先端にいる人と会話したいのだ……

注意: 読者は「お前は プロなりの責任とか苦労から逃れるためにプロにならない と宣言し、それでいながら、アマチュアでは物足りないと言うのか。なんという自分勝手だ」と批判するであろう。この矛盾は自覚している。それらについてもいずれ書きたい。

注意: 賢明な読者は、私の憧れが実は新しいことを自力で発見するという「研究」ではなくて、スパコンを使ってみたい・フラスコで何か反応させてみたいといった「操作」や、最先端で行われていることを「知る」ことであるのに気づかれただろう。これをもっと早く自覚できなかったのが、最大の間違いだったのである。