日曜日, 8月 29, 2004

IT系学習のコツ

私の周りでは少なからぬ人がPCは難しいと言っている。が、本当だろうか?私はGUIのOSを操作するだけなら、プレステのゲームができる人であれば誰でもできるようになる素地はあると思っている。が、Windowsが普及を始めてから10年になろうとしているのに、このアレルギーが収まるふしがないのはなぜなのだろう?

私のPC関連・プログラムの知識は独学だ。一時期プーをしていた時期があり、その時に家のそばにあった区立図書館のIT関連のコーナーの本をほぼ全て読み尽くし(理解したわけではないので念のため)、知識の一端と一端が連鎖して理解を生み、ということを体験した。

こういう学習の過程での醍醐味は、1回目に読むときは全く理解不能で5ページ読んだら眠くなるという本でも、何回か読むうちにわかるようになることである。が、ただ同じ本を繰り返し読んでもこのようなことは起こらない。分からない本を前に煮詰まって、脳みそがウニみたいになる位考えてもダメなのである。

自分の体験でいうと、一歩わき道にずれた違う本を何冊か読んでから戻ってくると、あら不思議!分かる言葉が増えている、ということが多かったように思う。違うジャンルの本に接することで気分転換になるし、いろいろな観点から、一つの技術を見つめることができるようになるのだと思う。

一方で、逆にこの手の学習はとっかかりが一番難しい。手当たり次第に本を読むと言っても、順序を間違えると理解の可能性が0ということはいくらでもある。たとえば

・正規表現を知る前にgrep, sed, awkの本を読む。
・HTMLを知る前にJavaScriptの本を読む。
・UNIXのコマンドを知る前に Perlの本を読む。

これらは私が実際に犯した遠回りだが、1回目の時は絶望的なくらい何が書いてあるのか分からないし、読んでいてちっとも面白くない。理解の礎となるべき知識が何かということすらもわからないのだが、手当たり次第に本を読んでいると、そのうち偶然でそれらにめぐり合う。ある程度知識が体系的についてくると、足りない知識が何かが自分でわかるようになるので、ムダ打ちは減っていく。とは言っても、新しい技術の知識に接する機会を持つためにも手当たり次第読みつづけるのは推奨すべき行為だと思う。

私が思い返して一番大変だったと思うのは、「その世界では当たり前過ぎて本に書いていないこと」を知ることである。今でも忘れられない、最初の最大の難関だったのが、プログラミングでいうところの

x = x + 1

という表現だった。プログラミングの知識がない状態でこの数式を見ると「x は x+1 の値と等しい」と読めてしまうが、こんな式が成立しないのは中学一年生でも分かる。「ではこの構文の意味は????ムムムムム・・・」とかなり長い間悩んだものである。身近に詳しい人がいれば、「ああ、この場合の=は等しいではなく、代入するという意味だから、 x にもともと入っている値に1を加算するということだよ」とあっさり教えてくれて解決したであろう。

何にしても、本をたくさん読むことが肝心ということなので、やっぱり時間がないと無理、ということなのかも。PCをいじること自体が好きでなかったら、他に時間を使いたいことが色々あるものね。