本を読み、そして書いてと、一通り何冊か勉強をし終えたあと、「よし、作ろう」と思っても作れないのはなぜなんだろうと思い、如何にすれば自分で作りたいプログラム書いたりする能力を身につけ習得する事が出来るのだろうか考えてみました。
まず全くプログラム言語を知らない状態で書くことは不可能なので、プログラミングの習得の流れは、基本的に以下のようになると思います。
①書籍(言語仕様や使い方などの本)を読んで書いて動かしつつ、その意味や流れを理解して書籍に書かれた内容を理解しながら学習。
この方法、私が、10年前以上に学習をはじめたJavaやServlet、JSPなどは、この方法で勉強しましたし、数年前に最後にプログラミングしたときには、何とかサイトをつくることができました。
しかし、時間がかかった割りに作る能力があんまりつきませんでした。天才なら読んだ内容を長い期間記憶して、かつ、簡単に応用していろいろと作れるかもしれませんが、残念ながら私はそうではありません。
今、数年ぶりにJavaScriptなどプログラミングの学習をはじめているのですが、この方法では効率が悪いのではないかと思います。
そこで、プログラム言語とは違いますが、どのようにすればプログラミングを見につけることが出来るのか、英語という言語で置き換えて考えてみます。
英語の学習方法には、有名な方が色々とこういうやり方が良いというように、いくつも方法をあるので、何が良いのかわかりませんが、経験と推測で考えてみます。
英語には、大きく分けて以下の4つの能力というか事柄があります。 ①読む ②書く ③聞く ④話す
大まかに英語の学習方法には、私が今、思いついた・考えてみた以下ののような方法があります。 ①中学・高校の学習のように単語や文法を覚える ②今流行りの英語を聞き流す ③英会話スクールなど実際に話す勉強 ④英語環境で英語だけで生活 ⑤英語で日記など文章を書く ⑥英語のラジオや新聞を読む
①の場合、多くの人が6年以上、学校教育で英語を学習しているのに使えないので、何か問題があると思います。
私も英語が出来ないので、英語習得のために中学レベルの英語学習書籍を何冊か勉強して書き込みなどもしつつ学習を終えました。しかし結果は読み書き聞く話すことは出来ませんでしたので、知識とつけるのと英語を使うというのは別の学習方法、アプローチが必要なのではないかと考えます。
●プログラミングで考えると、書籍を読んで書いてという一般的な学習方法と似ています。人によりますがある程度知識はあるけれど使えない英語と同じような学習の仕方やアプローチに問題があると思われます。
②ただ英語を聞き流すだけという学習?方法ですが、これで英語が話せるようになるのかわかりません。
実際、ある英語教材を購入して3ヶ月ほど、毎日聞き流していましたが、英語を聞く話すことはできませんでした。それ以前に単語や熟語の意味がわからないので何を言っているのかわかりません。多少、知っている単語が出てきたなと思うぐらいです。
この方法、違う言語で考えてみるとアラビア語は、私全く知りませんが、それを聞き流しただけでわかると思えません。で、日本人は、中学高校、また大学などで英語が使えないけど、英語に長く触れているという前提のもと単語や文法や、過去形など、良くわからないけど何か知っているという場合、前提知識の大きさによりこの学習方法が有効なのかもしれません。
実際に、何を言っているのかなど考えて調べたり、意識して聞く場合は違うのかもしれませんが、単純に聞き流すだけという場合、効果は微妙です。
●プログラミングで考えると、プログラムを眺めているという感じでしょうか。頭を使わず意識せず、ただ眺めるだけで使えるようになるというのは、超天才でなければ難しいと思います。
③-⑥最後にまとめていっき書きます。 ③から⑥特に④から⑤は、自分の頭を使い英語を使います。この場合、推測ですが使う能力が向上するのでないかと思います。知っていると使える能力は少し違うと考えると①のような英語学習とは違い、使う練習は大切なのではないかと思います。
■まとめると基礎知識(文法などのルール)を得ながら、使う訓練をするとプログラミング能力が向上するのはないかと推測します。
使う訓練となると、何を作ればいいのかとなるんですが、興味のある表現したいプログラムをコツコツ作るしかないのかなと、今書きながら思いました。
コメント