Entry

次の本はいいからまずまとまったもんを作りましょうの話

2009年07月01日

なんだか,また説教くさい話なので,じじいの戯言だと思って読み流してもらいたいんだけれども。

C言語初心者です。

pythonが取っ付きやすいと聞きそちらから入って現在はC言語習得を目指しています。友人のすすめで柴田さんという方の「解きながら学ぶC言語」という本を数周読みまして、次の本にステップアップしようかと考えています。(snip)

その場合、次の段階としてどのようなジャンルの本を選ぶのが良いのでしょうか?

C言語初心者です。 - Yahoo!知恵袋

回答するのは飽きたものの,たまに Yahoo!知恵袋を見ていると,周期的にこういう話が出てきます。

で,いつも思うのだけれども,この方を初めとして入門本を「読んだ」だけで,なぜ「次のステップ」なるものを考え付くのだろう,とか云々。「C言語の習得」というのは,C言語仕様評論家になることじゃないのだろうから,その本の内容を書けて初めてマスターしたと言えるはずです。少し前にも書いたけれども,プログラミング本の類は3回読もうが4回読もうが,実際に自分で何かを作らない限り,何もその本から学び取っていないとすら思います。

というわけで,あるプログラミング本を読んで,もうこの本から学ぶことは何もないと思ったら,こういうことを自問してみるべきなんじゃないだろうか。

「で,私は何を作れるようになったのだろう?」

例えば,C言語だったら1000~2000ステップ程度のプログラムを書いてみる(ステップ数で表現するのもアレなんだけど)。入門書を読んで「マスターした」とか言いながら,ガッコウの宿題みたいな,しょぼいのしか作れないようだったら,次の段階以前に,今のステップすら心もとないと思った方がいい気がします。そしてそれは,他の本や次の段階の本を「読んで」補えるものではないことが多い。

知ってるだけで実際に書かないようだと,実践の上では「まだ何もやってない人」なわけで,いつまで経っても入門者なり初心者なりから抜け出せないんじゃないかと思ったりします。

反対に,ある程度プログラムを書けるようになっていたなら,どの理解を進めたいのか,自分でテーマを設定できるんじゃないかとも思います。もっと効率のいい処理を知りたいのであれば,アルゴリズムやデータ構造の本に食指が伸びるだろうし,特定分野(例えばゲームとか)のプログラミングについて知りたければ,その手の本を手にするはず。

つまり,こういう質問が出てくること自体,入門書を読んで,本当に何か作れるようになったんかいな?と思えてしまうわけです。

また,ここでの質問者さんは,C++ でプログラムを書けることを最終目標に据えているようなんですけれど,そうであるなら C++ の入門書から読めばいいのではないか,とも思います。どちみち,C言語については知ることになるので,後は効率の問題なんじゃないか,と(個人的にはC言語から進む方が効率がいいと思うが)。

なんだか,変にレール(カリキュラム)を敷かないで,まずは謙虚に「自分のできないこと」を内省することが必要なんじゃないだろうか。「入門」つのは,そういうことなんだろうし。

あー……じじくさいじじくさい。

Trackback
Trackback URL:
Ads
About
Search This Site
Ads
Categories
Recent Entries
Log Archive
Syndicate This Site
Info.
クリエイティブ・コモンズ・ライセンス
Movable Type 3.36
Valid XHTML 1.1!
Valid CSS!
ブログタイムズ

© 2003-2012 AIAN