2008-02-11 [長年日記]
_ 言語の学び方続報
自分の前回のエントリは見事に若い人にもそうでない人にもスルーされ、誰も派生エントリを書いてくれずに凹んでいたけど、全然別口で情報が出てきたからいいや。ばーか。
自分はこの二人の足下にも及ばないけれども、原典派と大量の(コードを含めた)情報派の両方の言い分はなんとなく分かる。
前回なぜ自分があえてどれくらい言語の学習に苦労したか、あるいは逆にこの程度ならそこら辺のボンクラでも使えるようになるのかを書いたかというと、単に自分語りをしてみたかったというだけじゃなくて、その一つは 2ch とかで見かける
「言語なんてどれでも使えてこそプロだし、どれでも一緒」という意見にいつも疑問を感じていた
から。なぜなら
世の中には BASIC のような Perl コードや Java コードが実在し、動いている
からだ。この悪夢のようなクソコードがどうも「どれでも一緒」と言ってはばからない人の所業のように見えてならないのよね。ここはまったく根拠レス。理由は聞かないで。あえて言うなら、
有名なハッカーはたいてい得意な言語を持っていて、「どれでも一緒」と言える状態ではないように見えるから。
かな。話がそれましたか?
まぁクソコードの話はともかく、問題は「らしさ」の方。らしさについて今回
- より多くのコードに触れる
- 原典を読む
の二つの方法が挙ってきてるわけだけど、方法はともかく
割となんでも習得できるよと言ってはばからない人が「その言語らしさ」や設計思想を持ち出してくれている
ところがポイント。つまり
「どれでも一緒」なんかじゃねぇ!
ってこと。ちゃんとここを意識して、そのらしさ、設計思想を吸収するために自分に適した方法はコレ、と言ってくれている。ここ重要。
そうなのですよ。ぶっちゃけ「文法をやって何か動くものを書くだけ」だったらなんとかなるんですよ。オレが書いても説得力ないけどさ! 問題はその先。Ruby に「挫折した」ときだって Ruby らしくないコードならそりゃ書けてましたよ。でもそれじゃ面白くないし書きにくいだけなわけ。Ruby らしく書けてこその Ruby でしょうよ。それを含めてものすごいスピードで習得できる人が「どれでも一緒」って言うんなら納得するけど、本当にそんな人いるの?という疑問がどうしても残るわけです。
今回、その疑問はますます強くなったというか、「どれでも一緒」という意見は眉唾で聞こうという思いを新たにした次第でございます。
他人の経験を読めるのはとても面白い。だからみんな自分語りしてくれ。自分語りの文脈のときにね。
どんな言語が使えますか?みたいな質問には手続き型と関数型は使えます。あと、オブジェクト指向も理解してます。みたいな答え方をするようになったこの頃。
大枠ですね。関数型使えますって言いたいなぁ。自分でなんとかしないと自分が腐り始めていくのを感じます。