初心者がプログラミングを勉強するときにネックとなるのは、
1)プログラミング言語の文法
2)プログラミング言語の語彙
3)プログラミングの考え方
この三つを同時に、勉強して行く必要があると言うことではないかと思っている。
自然言語の学習との違いとして、3番目の「考え方」があるように思う。
ある外国語たとえば、フランス語を習得しようとする人は、大抵1と2に集中する。
まぁその国の事細かな生活習慣まで習得しようとする意気込みはなくともある程度の会話はできるようになる。
しかしながら、プログラミング言語においては、人間の文化とはまったく異質であるので、容易には理解できない習慣や、きまりがある。
これは文法と語彙とは別に親しんでいく必要がある。
しかし、現状では、それを達成するには、文法と語彙を少しづつ増やしながら、プログラミングを作る事を繰り返して、そういった「プログラマー脳」とでも言える考え方を身につけていくしかない。
視点を変えれば、1~3が密接に関係しているとも言えるので、どれか一つをのばすことで、それらすべてをのばしていくことにつながっているのかもしれない。
しかしながら初心者にはやるべきことが多すぎるし、慣れない考え方にストレスを感じる。
この「3」のあたりを、もっと切り離して個別に身につけられるようにできるテキストに出会ったことがないので自分にそれを作る事ができないか、ずっと考えている。
「出会ったことがない」と偉そうに言っているが、プログラミング言語の入門書を数冊読みかじった程度なので、(しかも、どれも完読はしていない)ただ単に自分のリサーチ不足かもしれない。
もしかしたらゲームにしたり、マンガにするといいのかもしれないし、そういったものはすでに存在しているのかもしれない。
プランと言うにはあまりにもおおざっぱだが、文章にして5行程度のアイデアは出来てきた。
ただし概念の段階であり、具体性は全くない。
「3」の考え方という物を、容易に、しかもあまり頭を使うことなく、段階的に習得するというのはその基本方針であることは明確だ。
できるなら、プログラミング言語の文法と語彙にたよらず達成できるほうがいい。
しかし、具体性を持たせるには、経験も少なすぎるし、あまりにもプログラミングのことを知らなさすぎる。
どのような思考法から身につけていくべきか、どういった段階をふむべきか、そういったこともほとんどわからない。
現段階でわかっているのは、いかに初心者が苦労し、ストレスを感じるか、そしてそれに対して根本的な解決策がなく、昔ながらの「やってなれろ」方式しか解決策がないということだ。
(最近は、まぁそれで解決してくるのだからそれでいいのかとも思う気持ちもあるが)
そもそもこういう考えを抱くのは、間違っているのかもしれない。
でも何か考えずには居られない。
0 件のコメント:
コメントを投稿