学ぶということ、教えるということ

結城浩

1999年8月18日

朝、ひげをそりながら青ラクダ本を読み、Perlの勉強。 プログラミング言語の本を読むのは面白い。 自分でわかっていると思っていたことでも、 細かな点で誤っていることがわかったり、 より「その言語の特徴を生かした」解法が解説してあったりするからだ。 学んだ成果はメールマガジン『Perlクイズ』に反映するつもりである。

私の経験上、 プログラミング言語を学ぶときには、 人に教えるつもりで学ぶと、とてもよく身につく。 だから、本を書くと、とてもよく身につく。 「本を書く」というのは「人に教える」ということにほかならないからだ。 これはプログラミング言語に限らないかもしれない。

そもそも、理解できなければ教えられないじゃないか、って? それはそうだけれど、まず「教えるつもり」になるのだ。 教えるつもりになる。理解した分だけをまず人に教える。 教えているうちに、自分が何を理解していないのかが浮き彫りになってくる。 説明がしどろもどろになったり、適切な例を示せなかったりする。 そうしたら、そこにポイントを絞って学べばよい。 そのようにして体得していく。

と、ここまで書いてきて、 私は中学校の数学で「集合」を学んだときのことを思い出した。 そのころ、私は学びながら、小さなノートの切れ端で「参考書」を作っていた。 「集合」に出てくる用語の解説や例題、問題とその解法などを解説する小冊子を作っていたのだ。 その小冊子を人に見せたかどうかはよく覚えていない。 題材は変わり、規模は変わっているけれど、 中学生の時代と同じことを私はやっているのだ。

教えるとき(つまり、学ぶとき)に大切なのは、 開かれた態度、公正な態度、事実を重んじる態度、面倒くさがらず原典にあたる態度だ。 開かれた態度というのは、教えている相手からの質問や疑問を抑え込まないこと。 公正な態度というのは、自分が誤ったときにはその誤りを認めること、わかったふりをしないこと。 事実を重んじる態度というのは、事実が自分の予想と反していたときに事実をねじまげたりしないこと。 面倒くさがらず原典にあたる態度というのは、…その言葉通り。

そして、にっこり笑うことも大切。