2008-11-03

http://anond.hatelabo.jp/20081103101050

大概でいえば、それが有効である事は多いでしょう。

ですが、それだけでは足りないこともあるし、何を読むかが重要だし、「プログラミング初心者」の種類にもよる、という但し書きも必要だと思います。

そうすると、プログラミング初心者はサンプルコードがしっかり載ったリファレンスを片手に何か一つの言語で作られたオープンソースソースコードを読んで学習するのがいいのかな?


というのも、単語(関数、ステートメント、ライブラリetc.)を文脈で覚えるには、文脈を理解しなければならないが、文脈を理解するためには知識が必要だから。そして、知識を得るには単語を知らないと難しい。

何も知らない状態ならば、まずは単文複文、変数、ステートメント、構造プログラミングetc. と、言語使用される概念を理解しなければならない。それが基礎から応用へ向かうにつれ、単語量が増え、記憶すべき事柄が増える。そしてついには、バッドノウハウ歴史的理由、処理系依存などが出てくる。それらは必要とされるから存在する。その、必要とされる理由、必要とされる文脈を理解することが、それを応用するために必要なことだ。応用力、それは記憶と理解のバランスだ。

リファレンスとサンプルコードと実働コードを用いる手法の目的は、リファレンス意味を、サンプルコードで小さな文脈での使用例を、実際の使用例でさらに大きな/多様な文脈での実例を、それぞれ得ていくことにある。それには、それぞれの文脈が理解できるという前提があり、今の知識・語彙で理解できるソースコードを選択しなければならない、ということである。しかし、どのようなソースコードを読めば一番効率が良いか、という問題は非常に難しい。また、実在するコードを読むもう一つの理由が、モチベーションの維持にある。しかし、これがまた難しい。難解な方が燃える人もいれば、簡易なほうが良い人もいる。また、コーディングルールや手法の違いを学ぶために、数をこなすことも有用だろう。しかし、そのためのモチベーションを維持するのは大変である。

なんにせよ、そういった、自分にあったお手本となるソースコードなど、初心者には選べるはずはなく、そういう意味初心者にはお勧めできないかもしれない。いや、もしかすると、どこかの増田が「初心者が読むべき10のコード」とか書いてくれるかもしれないが、個人的には運命出会いかとも思う。普段愛用しているツールに機能追加したくなって、ソースコードを読んで行くうちに覚えたとか。

記事への反応 -
  • http://anond.hatelabo.jp/20081101050330 http://blog.livedoor.jp/dankogai/archives/51133522.html いや、自分はコーディングが全くといっていいほどできないSEという肩書きをもつスーツなのですが。 上の増田氏...

    • 大概でいえば、それが有効である事は多いでしょう。 ですが、それだけでは足りないこともあるし、何を読むかが重要だし、「プログラミング初心者」の種類にもよる、という但し書き...

      • おいおい、最後にすばらしくいいことを言うじゃないか。 個人的には運命の出会いかとも思う。 俺は時代もあって、運命の出会いは書籍だった。まぁ、今の人に勧めても読まないね。...

        • 運命の出会いといえば「C++プログラミングの筋と定石」かな。あと、ラクダ本。 他はSOCKETで変態的構造体を学び、オブジェクト指向の一端を学んだ。 x2htmlを弄ろうとしたらlexだった時は...

    • コーディング出来るかどうかは、能力の差ではなく、やる気の差でしょう。 興味持てない人間は一生出来ない。やる気がないから。 コーディング出来る人は、能力の差にしたいだろうが...

      • どっちかというとできない人間の方が能力というか才能みたいなもののせいにしたがっている印象がある。体感的に。

        • できる側の人間としてはできない理由がよくわからないんだと思う。 コーディングができない理由ってなんだ? ちなみに自分は業務で強制されないとなかなかできないことが判明してい...

      • なんかつらつら考えてみたから書くね コーディング出来るかどうかは、能力の差ではなく、やる気の差でしょう。 自転車に乗れるかどうかは、能力の差ではなく、やる気の差でしょう...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん