ハッカーの特徴=好奇心=集中力の源
ポール・グレアム氏のエッセイ「ハッカーと画家」を読んでみました。
印象に残った言葉があったのでメモ。
- 素晴らしきハッカー Great Hackers http://practical-scheme.net/trans/gh-j.html
ハッカーについてだけ特有な資質というのはあるだろうか。
何人かの友人に尋ねてみた。
最初にあがって来る答えは、好奇心だった。
賢い人はみな、好奇心が強いと私は思っている。
好奇心は単に知識の 一階微分だからだ。
それでも、ハッカーはとりわけ好奇心が強いようだ。
特に、ものが動くしくみに関しては。
ある意味それは当然かもしれない。
プログラムというもの自体、 実質的に、ものが動くしくみの巨大な記述だからだ。
友人の幾人かは、ハッカーの集中力に関して言及した。
一人の言葉を借りれば、「他の全てのことを頭から追い出せる」能力だ。
私も確かにそれには気づいていた。
また、何人かのハッカーが、 ビールを半杯でも飲んだら全くプログラムできなくなると言っているのも 聞いたことがある。
ハッキングは、ある種の特殊な集中能力を必要とする のかもしれない。
素晴らしいハッカーはたぶん、非常に大きなコンテキストを 頭の中にロードすることが出来て、したがってコードを一行眺めている時にも、 その行だけでなくそれを取り巻くプログラム全てを見ているのかもしれない。
「他の全てのことを頭から追い出せる」能力
確かに、集中しているときは、頭の中を1つの関心事が独占していて、他の全てのことは頭の外に追い出されています。
集中が途切れて、いろいろな雑念が湧いてくると、この状態が崩れますね。
関心事を切り替えるコンテキスト・スイッチが頭に付いているようなかんじでしょうか?
コンテキストスイッチ (context switch) とは、複数のプロセスが1つのCPUを共有できるように、CPUの状態(コンテキスト)を保存したり復元したりする過程のことである。
コンテキストスイッチはマルチタスクオペレーティングシステムに不可欠な機能である。
(via Linuxのしくみを学ぶ - プロセス管理とスケジューリング)
好奇心は単に知識の 一階微分
勉強は、
- 興味
- 教材
- 時間
の3つが揃えば、誰でも一定の成果を出すことができます。
ちょうど、植物の種が育つためには、土や水、空気、適切な温度、日光が必要なように、勉強も条件を揃えないと、スキルの獲得が難しいでしょう。
この中で一番重要なのが「興味」だと思います。
どんなに記憶力が良い人がいたとしても、学ぶ対象に全く関心がなければ、いくら本を読ませても、なかなか頭の中に入って来ないでしょう。
つまり、興味=好奇心=関心は、対象に近付いて観察し、自分と一体化=習得する力になっています。
知識を習得する速度が、好奇心の強さ(加速度)に応じているなら、
と考えることもできますね。
好奇心を刺激するには?
「好奇心があればスキルの獲得は簡単」というところまではOKとしても、「じゃあ、どうすれば好奇心を高めることができるのか?」という素朴な疑問が出てきます。
好奇心について、面白い話がありました。
“まず相手を好きになるために必要なことは相手を良く知ること” | Facebook
自分の子供であれ、自らが担当する教え子様であれ、どうしても好きになれない相手はいるものです。
どのように対処すれば良いでしょうか?
一つの方法としては、まず相手を好きになるためには何が必要かを考えることです。
あなたが好きなものはどんなものでしょうか?
- 自動車
- バッグ
- ジュエリー
︙
︙
自分が好きなものを想像してみてください。
その共通点に気付くはずです。
それは、
『あなたは、自分が好きなものに対して、ものすごく多くの知識を持っている』
ということです。
そうではありませんか?
自動車が好きな人は自動車について、バッグが好きな人はバッグについて、他人からは計り知れないほどの多くの知識を持っているものです。
人間関係もこれと同じです。
えてして、相手のことが嫌いなときは、相手についての知識を持っていないときです。
政治家などについてもそうで、まったく知らなかった時はなんとなく苦手だったけれど、実際会ってみるととても良い人で気に入ってしまったということがままあります。
苦手な人がいるときは、まず相手のことを知ることが大切です。
そして、相手のことを知れば知るほど、相手のことが好きになれる自分に気付くはずです。
私が、勉強はまず知識を覚えることから始まるということを、何度も言っている理由は、興味とは知識量に比例するからです。
人間の好き嫌いというのはわりと単純なもので、知識量が多いジャンルについては好きなことが多く、知識量が少ないジャンルについては嫌いなことが多い。
たいていはそうではないでしょうか?
鶏が先か卵が先かという議論はもちろんありますが、基本的にはこの議論はある程度正しいと思います。
まずはなにがなんでも、四の五の言わずに知識を入れ込む。
次いで、それをアウトプットする機会をたくさん設ける。
これだけで勉強の能率は相当上がりますし、結果が出せるようになれば勉強が好きになります。

好奇心の入口は「観察」ですね?
- 対象を観察する。
- 「なぜこうなっているんだろう?」という疑問を持つ。
- 疑問の答えについて知りたい、理解したいと思う。
- 好奇心が芽生える。
という順番になっていると思います。
プログラミングについて観察する場合、プログラムのコード眺めるだけでは、いまいち意味がよく分からないでしょう。実際にプログラムを動かしてみて、どういう挙動を示すのか?を観察してみればいいと思います。
ゲームやDTMなどは、視覚的・聴覚的に変化が多くて、簡単に結果を観察できるので、観察の練習材料には良いでしょうか?
プログラミングの本や記事とかを読んで、最初に少しだけ予備知識を与えておけば、観察から好奇心に至るプロセスが、さらにスムーズになるでしょう。
まとめ
- 観察が好奇心の入口
- 好奇心は集中力の源
- ハッカーは集中力があり、生産性が高い
ポール・グレアム氏のエッセイなどを参考にして、今取り組んでいる課題に興味が持てるように工夫したいと思います。

- 作者: ポールグレアム,Paul Graham,川合史朗
- 出版社/メーカー: オーム社
- 発売日: 2005/01/01
- メディア: 単行本
- 購入: 109人 クリック: 4,884回
- この商品を含むブログ (582件) を見る