雑誌やマニュアルを読んで学んだ幼少期

ーーまず、登さんの幼少期についてお尋ねします。登さんは、小学生2年生の頃に自宅にあるPCでプログラミングをはじめたとのことですが、当時はどのように勉強されていたのでしょう?

近所の方から古いNECのPC-8001をもらい、それで遊んでいました。プログラミングは父が学生時代に勉強したことがあるとのことで、printやgotoやifなど、必要な文法を紙に書いてもらっていました。

PC-8001をもらったとき、雑誌も何冊かもらって。その中でも特にヤバかったのが、NECの公式マニュアル『PC-8001 USER’S MANUAL』でして。これが幸運にもPC本体についていました。この本には、サンプルコードがたくさん載っていて、それを読んで、プログラムやり方や「こういう変数があるらしい」という機能的なことを、徐々に理解していったんです。

ほかにもついていたいろいろな雑誌やマニュアルを見て、たぶん1年くらいはかかりましたが、簡単なプログラムは作れるようになりました。

ーー1年間の勉強でプログラミングできるようになったんですか?

プログラミングは難しいです。だから、その時はまともなものは書けるようにならなくって。まともなものが書けるようになったのは、そのあとでした。

ーーどんなきっかけでしょうか?

まず、小学校5年生の時に、学校にパソコン部屋ができました。そこにはIBMのデスクトップマシンが10台並んでいて、Windows95が入っていました。パソコンに興味をもった1つ目の理由はPC-8001でしたが、あまりおもしろくなくて飽きてしまいまして(笑)。その点、Windows95はマウスとキーボードで動かすので、PC-8001とはまったく違う感じがしまして、「おお、このパソコンというものは大変おもしろいものや」と思いました。これがパソコンに興味を持った2つ目の理由です。

次に、中学生の時に入ったパソコンクラブ。そこには古い人が捨てていったPC-9801があって、それにはフロッピーがついていて、MS-DOSが動いて。

MS-DOSには、BASICのコンパイラーとかCのコンパイラーはいろいろあるんですけど、Borlandという会社がTurbo Cというコンパイラーを作っていて。Turbo Cは非常に優れていて、買うと5万円くらいすると思うんですが、なんか知らんけど、当時、その部室には先輩の大学からコピーしてきたと思われるTurbo Cのフロッピーみたいなものがたくさん置いてあったのです(笑)。部員らはみんなそれで勉強してて、それで簡単なC言語ができるようになりました。

広い知識を身につけるのに最適だった「横に広い書店」

ーーそのとき、勉強のために読んでいた本はありますか?

勉強で読んでいた本でいうと、小学校の時にもらった書籍は、BASICしかなくてあんり複雑ではなくって。中学生のときは、紀伊国屋書店の梅田本店というメッチャでかい本屋が梅田の駅にあって、そこに通っていました。新宿の紀伊国屋書店は縦に高いと思うんですけど、梅田店は頭がおかしくて。梅田の駅は10個ぐらいの電車が集まってくるプラットフォームの終点駅なんですけど、その1つ下の1フロア全部が本屋になっているんです。

バーっと(広いフロアに)置いてあるの中に、コンピューターの本も若干あって。夕方、学校終わったらだいたいそこに行き、C言語の本とか、インターネットの本とかを全部立ち読みして読んで。小遣いがあまりないので、立ち読みしたやつを覚えて、家や学校のパソコン部屋に行って、それを打ち込むんです。中学校1年2年ぐらいのときは、そんな感じでやってました。

ーーなるほど、そんなにすごい本屋があったんですね。この「横に広い書店」というのは、登さんのような思考を培う上で、重要なのでしょうか?

この本屋は同じフロアに全部の本が並んでいるので、お楽しみのプログラミングの本のところに行くには、ほかのところ通らないといけません。しかも、プログラミングのところには、たいてい変な人がワーっといて。

自分中学生1年生の時に、プログラミングの難しい本を取り出して読んでいると、後ろにサラリーマンが何人か来て「おい、見ろよ」と。当時僕はそれほど大きくはなかったので、「この小学生みたいな格好のが、難しい本読んでるぞ」「わかりっこないのに、こんなん読んでる。アホちゃうか」みたいに言って、どっかに行ったりするんです。

腹が立って、プログラミングのところに行くのが「怖いからイヤ」となって、周りの本のところに行くんです。それで、ビジネス書のところに行って。『株式会社の仕組み』やら、その当時は日経BPのMicrosoftのWindows NT開発の本が経営の棚にあったんです。

梅田の本屋は、全部が同じフロアになってるから、嫌でも目につくんです。なので、興味がない本のなかでも、1冊ぐらいは「おもしろそうだな」と思って読んで、それが役に立つこともあります。もしこれが、ほかの本を読むために労力をかけないといけないということであれば、もともとそれには興味がないので、目につくこともなく、読まないのではないかと思うのです。

こういうふうに思うと、同じ部屋にワーっといらんもんも置いてある、ということは、とても重要なんじゃないかと思うのです。

本を選ぶ基準と印象に残っているあの1冊

ーーなるほど。ちなみに、本を選ぶ時にはどんなことを基準にしていますか?

1つ目は著者ですね。ある著者の本を読んで、正確性がある程度高いと思ったら、同じ人の書いたほかの本も読むことがあります。

2つ目は、その中で言及されている古典(参考文献)に関する記述です。本のなかに「昔こういう本がありまして」と書いてあったら、それはつまりその著者が参考にした原著だということになるので、それを読みます。

そのように遡っていくと、派生物である現代の書籍のは、昔の数少ない共通の書籍から分岐しているんではないかとも思うんですね。

ーー本のルーツですね。これまでに数多くの本を読まれているかと思いますが、その中で特に影響を受けたものや、印象に残っているものはありますか?

英語だと『Show Stopper!』、日本語で『闘うプログラマー』という本があります。おもしろいので英語も日本語も両方読みました。この本は梅田の本屋で見つけたもので、Windowsが作られた時の話が書かれています。プログラムの話はほぼ出てきません。

もしプログラムの話が読みたければ『Windows Internals』を読めば、技術的な本当の部分が書いてあります。今の現代社会が成り立っている、『闘うプログラマー』で活躍されている方々の努力の結果です。

プログラミングは「わからんけど、そのまま打ち込む」

ーーなるほど、おもしろそうですね。ところで、登さんが本を読む際になにか意識していることや実践していることはありますか?

プログラミングの場合は、写経みたいな感じで、読みながら書き写しすることはあります。「わからんけど、そのまま打ち込む」ということです。しかし、現代ではこれが非常に難しい。なぜなら電子書籍やWebの解説記事になっていて、コピー&ペーストで「動いた!」とか言って、それで終わりになる。

紙の本の場合はコピー&ペーストできないので、それが許されなくて。パソコンの画面の横に本を置いて、打ち込もうとします。そうすると、本はパタって閉じますよね。それで「クソっ」と言いながらまた広げて。またパタっと閉じるので、折り目をしっかりつけて、両方に重しみたいなものを置いて、閉じる前に急いで入力するんです(笑)。今は、そういった苦痛を伴う工程がないので、昔と比べると高度なことを身につけるのが、逆に困難になってるんではないかと思います。

メモを取りながら本を読む方法もあるようですが、そのようなことはやったことがありません。その理由は、重要なこと重要でないこととは、無意識に振り分けるのではないかと思っているからです。

重要なことは、文字として覚えるのではなく、かたちで覚える。このかたちは、複数の重要な要素が集まった時には、その重要な要素の共通部分を点として、線で結んでできあがります。この線でできたかたちは、唯一無二、つまりユニークになると思うんです。人間の記憶というのは、大概そういうふうになってるんじゃないかと思います。

ある本を読んで、別の本を選んで、3冊目を読んで。「違うこと言ってるけれど、本質なかたちは同じだな」と認識したら、「あとで使えるから取っておこう」と、たぶん無意識にできるんだと思います。

どんなに勉強が嫌いな人でも、母国語は自然に話せるようになるのに、我々の中学校英語とかは、メモをとってもうまく話せないじゃないですか。そういう意味で、メモをとるのがあまり効率のいい方法だとは思っていません。

(次回につづく)