科学家のテラス 5
Reflections from an Amateur Scientist 5

神里達博 Tatsuhiro Kamisato

運命の教授室
昔の先生は、偉かった。誰もが先生を尊敬していたし、先生の方も自分が「尊敬されてしまうこと」を前提に、日々、呼吸していたように思われる。とりわけ、私が学生をやっていたころの大学教授は、本当に威厳があったし、とにかく怖かった。

そんな教授が住まう「教授室」に呼び出されることは、たいそう恐ろしいことだ。おまけに私は、実験がへたくそで、指導者である院生のMさんに迷惑をかけていたが、一人だけウェット・ラボとドライ・ラボ★1の両方を掛け持ちしていて、シナジー効果★2によって素晴らしい「研究成果★3」が出ることを期待されて、いや、学部4年の私がそんな期待をされるはずもないのだが……とにかくいろいろあって★4、私が研究室内の「異端児」であったことは間違いない。

「失礼いたします」。私は教授★5の部屋のドアをノックした。私の予想では、相当に厳しく叱責されるはずだった。しかし彼は意外にも、とても上機嫌であった。彼は、人工知能や計算機科学についての最近の趨勢をあれこれ語り、そのことと、バイオロジーがどうダイナミックに結び付いていくと予想されるか、そして、それらの大きな潮流に対して、自らの研究室がどんな戦略で挑むことが「ブリリアントか」について、にこやかに、早口に、そして一方的に語った。私は、ただそのハイレベルな議論のシャワーを浴びながら、呆然としていた。

教授は、ひとしきり話すと急に黙り、少し間をおいて、こう言った。「君も一つ、結果を出してみなさい。そうすれば、君を研究者として認めよう。見たところ君は、とことん考え抜くことがどういうことか、まだ分かっていないようだ」

衝撃的な言葉であった。しかし、その時の私は、教授の言葉がすべて正しいと感じた。さらに畳みかけるように彼は言った。「それから、君はどうも実験ができないようだ。コンピュータの方は得意なのかね?言語は何が使える?」 私は「BASIC★6とFORTRAN★7です」と小さな声で答えた。彼は乾いた声で笑い、「BASICは使い物にならない」と言った。そして「FORTRANもよいが、C★8を使えるようになりなさい。そうすれば、少しはまともな仕事ができるようになる。だが『理論』で成果を出すのは並大抵のことではないよ。それが君にできるかな」と言って、天井を見上げ、とても楽しそうに笑った。

こうして私は「併任」が解かれ、ドライ・ラボ専従になった。(つづく)

Endnote:
1 「科学家のテラス4」★1を参照のこと。

★2 複数の要素が同時に働くことで、それぞれが単体で動くよりも、多くの結果が出ること。相乗効果と訳される。要素の「和」ではなく、「積」で効いてくる、というイメージを表している。だが現実の世界では、要素が足を引っ張り合ってむしろ結果が相殺されたりして、期待通りの結果が出ない「逆のシナジー効果」も多い。

★3 研究室にもよるだろうが、理工系の学部学生の「研究」の意義は、研究室で行われている他の研究のごく一部を分担しつつ、自身の研究の練習をすることにある。したがって、それ自身が科学界に対して「新しい知見」をもたらすことは、非常にまれである。

★4 いや、こうやって原稿を書きながら、「とても重要なこと」を書き忘れていることに気づいた。「科学家のテラス4」で「虚偽の記憶」について触れたが、まさに私自身が都合の悪いことを本当に忘れてしまっていたのである。忘れた中身自体はありふれた話なのだが、完全に忘れていた自分に今、相当に驚かされている。

★5 この教授は、ひたすらに頭の良い方で、実にさまざまな業績をあげており、同時に謎めいた「伝説」も多く、私は彼と関わる時はいつも「何か間違いがあったら大変なことになる」という緊張感を持っていた。この教授の凄さについてきっちり語ろうと思えば、大部の著作になってしまうだろう。いずれにせよ、私は彼を語るにふさわしい人間ではないので、ここでは詳細を述べることは控えたい。

★6 BASICとは、Beginner’s All-purpose Symbolic Instruction Codeの略で、主としてインタープリタとして実装されたプログラム言語である。70年代の初期のパソコンにROMの形で組み込まれることも多く、比較的やさしい言語であったので、当時はBASICからコンピュータ・プログラムを学んだ人も多い。ただ、構造化されていないことや、コンパイラではないことなどから、大きなシステムを作るには不向きであった。現在も、その進化形はさまざまなところで使われている。

★7 コンピュータは、「マシン語」と呼ばれる、いわば記号の羅列しか扱うことができない。そこで、人間に分かりやすい言葉でプログラムを書き、それをコンピュータ自身に翻訳させるというアイデアを思いついた賢い人がいた。これを「高水準言語」と呼ぶが、FORTRANは1954年に誕生した最も古い高水準言語である。FORmula TRANslationから命名されており、その名の通り数式を扱いやすく科学技術計算に適している。その後、何度も改良・拡張がなされた。当時の理工系の学生は、まずはこの言語を学ぶことがスタンダードであった。

★8 1972年、ベル研究所のデニス・リッチーがUNIXのカーネル(OSの中核部分)を書くために開発した手続き型の言語である。その派生言語も含め、現代において最も影響力のあるコンピュータ言語といえる。あらゆるハードウェアで動き、非常に自由度が高く、美しいコードを書くことができる。だがその分、脆弱性がある。JAVAやC#など、より新しい言語もCの表記をかなり継承している。私自身は、「やっぱりCが好き」。