僕は目的を分割して必要な部分だけ飛び飛びに学んでいる。ジグゾーパズルを作るみたいな感じ。ジグゾーパズルを作るときに左上から一個ずつ探していたら時間がかかってしょうがない。三つのルール+1)いい機会なので、私の言語学習法をこの際披露することにしましょう。私の場合、一番の特徴は、「必要を感じるまで学ばない」「本当の問題に出会った時に、それを全力で解く」「学ぶ時には『原典』に当たる」ということでしょうか。私はこれを「遅延学習」と呼んでおります。実はこのことはコンピューター言語に限った事ではないのですが、コンピューター言語の場合、このことが特に顕著です。cho45)技術的な困難さなんて関係なくて、アイデアを表現できるかどうかだと思った。言っても無駄なんだろうけど...これは、まずアイデアが先にあるべきで、その実現方法はあとから考えるととれるので、遅延評価なのではと感じました。ここまでだと、「たった3人だけじゃん。僕もそう思ってましたし、そもそもこの勉強法の共通点に気がついてませんでした。仕事の流儀)を見て、本日のにぽたんさんの記事を読んだ時、これは確信に変わりました。中村勇吾さん(番組内にて)(プログラミングやWebデザインの)学校に行ったり本読んだりとかは全くしていない。その時々で凄くいいものを作る人がいて、その真似をしていた。変化の激しい世界で1つの体系を完全に習得するのは意味がない。その時々で瞬時に反応しながらやっていく反射神経が大切。やりたい真似したいと思ったら直にやってみるという方法ですね。これも、「○○したい」が先に来ています。id:nipotanさん理解するのに苦労したコンピュータ関連のトピックは?理解するのに苦労するトピックはあえて追わないようにしているので、特にありません。いったネタはいつか理解したいと思ったときに追えば知識欲が伴うのですぐ理解できるのではないかと感じています。思わないうちに苦労して理解しようとするのは時間がもったいない気がします。これも、「必要になるまでは学ばない」ということに当てはまります。プログラマーの能力は生まれ持ったセンスによる部分が大きいと思いますか?まったく逆で後天的なものの方が大きいと思ってます。効率的な学習の仕方などはきっと存在するでしょうが、それをみつけられないうちはプログラマーとしてあまりパッとしないのではないかと思うこともあります。ここからは憶測ですが、遅延評価勉強法を具体的にやるとすれば、それは、「Webのソースを読む」、「Webからコードを持ってきてごにょごにょいじってみる」ということになるのかなと思います。ハッカーに「良いプログラマーになるためにやることは?」と聞くと、「ソースを読む」ということが必ずといって良いほどでてきます。逆に、「ソース読んでいない人はだめだ」という表現もよく言われていると思います。この「ソースを読む」とは、そもそも「これどうやって動いているんだ?」と思って初めて実行するものだと思うのです。いいのかこれも僕の憶測ですので、間違いが多々あるかもしれません。僕が思う、遅延評価勉強法のメリットは、「投資対効果が極めて高い」ことだと思います。あるとすれば、それは、「本を最初から全部読む」とか「言語をやるからにはまず文法だ」とか、従来の日本式の学校での勉強に近いものだと思います。先行評価勉強法には、「○○をやりたい」に当たる目標がまったくありません。それなのに勉強するということは、「何のために勉強するのか」も分かりませんし、なにより面白くないと思います。そんなことをして覚えたものが役に立つはずもなく、すぐ忘れてしまいます。先に「○○をやりたい」というものがあり、しかも、それは「今」必要なものなので、にぽたんさんの言葉を借りれば知識欲が伴います。学んだことがすぐ何らかの形でアウトプットされます。「今」必要にせまられているため、得た知識からソースを書いたりするのは当然ですから。実際に手を動かしアウトプットすることで、体験を通じて学ぶことができます。書いてあることを読んだだけと、自分で試行錯誤を繰り返し手を動かして学んだ知識のどちらが習得効果が高いかは推して知るべしです。先行評価勉強法には体験すらないのです。この遅延評価勉強法が良いのではと説明されている記事もありました。エンタープライズ)わたしが過去にどのようなソースコードの読み方をしてきたのかを振り返ってみると、プログラミング能力の向上を目指したコードの読み方のヒントがあるかもしれません。1つは、「全体を読もうとしない」ことです。ソースコードには「物語」はないので、全体を通して読む必要はありません。面白そうなところをつまみ食いして、先人の知恵を学べばそれで十分です。1つは、「目的を持って読む」ことです。何かを学ぼうと思ってソースコードを読めば、効果的に読解して知識を得ることができます。考えて見れば「lazy」なハッカーは意味のないことに時間を使うわけもなく、最小の労力で最大の成果をだそうとするので、効率を重視するのは当然でしょう。似たような学び方をするのではないかと思いました。あ、本を読むなという話ではないですよ(汗)ハッカーは本も読むと思います。読み方が違うだけだと思います。追記あと、重要だなと思ったのは、「どういう仕組みで動いているんだろう」とか思ったら、勉強しようと思ったら、それを理解するまで試行錯誤をやめないことです。分からないからやめよう」としていると、遅延評価勉強法では何も身につかないと思います。コードとかひっぱってきて何か作ったとき、「できたー!」で終わらせず、「さて、動いたけど、どんな仕組み動いているかなー」ってところを理解するのがポイントかと思います。「使っているものの仕組みを知れ!仕組みの分からないものを使うのは怖いと思え!」って感じでしょうか。最近考えていることがありました。それは、いわゆるギークな人...2008-12-28現在閲覧しているページをはてブしている「お気に入りユーザ」を表示するGreasemonkeyあったらいいなーって思い、作ってみました。機能概要は以下の...2008-05-18効率良く勉強するにはふと思ったのでメモしておきます。上杉鷹山を読んだまとめ「先読み力」で人を動かすを読んで。月別アーカイブはてなブログをはじめよう!LukeSilviaさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。