プログラミングに殺される
ついったーでコレをネタに呟いてた人がいたので。
私は書ける側の人間だから、あんまし説得力ないのかもしれないけど。
どういう勉強をしたのかわからないけど、プログラムなんてどれだけ本読んだって理解できるものじゃないと思う。理解できる人は天才とか呼ばれる類の人だけだろうさ。
多分絵とかと同じで、実技を元に座学というか、実技を補強するための座学というか。
本は確かに読む必要があるんだけど、メインは実技だと思うのよね。
とにかく組め。話はそれからだ。みたいな。
私の経験だけで書いてしまうけど、プログラムを始めたい人は
1.どこかからソースコードを拾ってくる。
2.動かしてみる。
3.一部を改造してみる。
4.改造箇所を広げてみる。
5.最初からなにか作ってみる。
3が重要で、まずメッセージを変えてみるだけでも良いと思う。多分変数か定数に入れてるだけだろうけど、改造を進めていくと、そのうち文字列表示用の関数の存在に気づいたりして、関数ってものがどんなモノかが体感として解ってくる。
関数が見つかったら、感と好奇心で「ここに別の値を入れたらどうなるだろう」って試してみたりするといい。
「こうしたらこうなるんじゃないか?」って予想しながら組むのも大切。予想通りだった時のアハ体験は次に繋がるぜ。
5で作るのは、まずは電卓を作ってみるのが良いんじゃないかと思う。電卓はいろんな基礎が詰まってるから。
最初に本だけで勉強しようとすると、特にオブジェクト指向言語は専門用語が多すぎて挫折しやすいと思う。
だからって非オブジェクト指向言語を勧める訳じゃなくて、専門用語とかはとりあえず無視して、「なんていう名前の機能か解らないけどとにかくこういう動きをする機能」ってことで組んじゃえばいい。用語なんか後で調べりゃいい(知らなくて良いってことじゃない)
先に本読んでも良いけど、後で実際に組んでみて体感してみないと身に付かないってのは、プログラムに限らずなにに対しても同じことだよね。
最初は間違った理解であっても、思ったように動けば良いと思う。
でも理解が不十分だと思った点については、ちゃんとあとで調べることが重要。間違った理解はあとで正せばいい。
間違った理解でなぜ思ったように動いたのかが納得できたときは妙な高揚感があるぜ。
私自身がこんな感じで身につけてきたものだから、他の人でもある程度同じような方法で身につけられるんじゃないかと勝手に思っちゃうんだけどどうだろう。やっぱ人それぞれなのかな。