何故プログラミングが理解できないのか考察してみる

この記事を書こうと思った理由

最近、友人やモクモク会で、プログラミング初学者と接する機会が増えてきまして、そこで気づいたことがあるので、記事にしてみようと思いました。科学的な根拠があるわけではないですが、参考にしていただければ幸いです。

分厚い本で勉強しようとしていないか?

先に結論から申し上げました。何故これが良くないのかをこれから説明します。情報量の多い参考書を使って勉強すれば、プログラミングを習得できて、一見悪くないことに思えます。しかし、これが良くないのです。何故良くないかというのをこれから説明していきます。

プログラミング習得は「言語」習得である

プログラミングを勉強し始めたときは、プログラミングを知らない状態で勉強し始めます。(当たり前ですが)
プログラミング言語の習得というのは第一言語の習得です。人間の言葉で考えると、子供が第一言語を習得するときに相当します。日本で生まれた子供が日本語を習得する際に、概念的な学習をするのではなく、まず、音を真似て使用シーンから徐々にボキャブラリを増やし、やがて話せるようになります。
たとえば子供が『挨拶ってどういう意味なの??』と、質問してきた際に、あなたはなんと返答するでしょうか。
例えば
「人に会ったり別れたりするとき、儀礼的に取り交わす言葉や動作!」

といって子供は理解できるでしょうか。

これでは説明しても理解できるはずありませんよね。多分あなたは
「おはようとか、こんにちはのことだよー」
と説明するでしょう。

つまり、第一言語習得における適切な手法とは、まず
1. 真似する
2.使用シーンから、なんとなく使い所を学ぶ
3.概念的、辞書的な意味を知る

という順序になります。
そして、日本語の文法を学び出すのは、小学校高学年です。逆に言うと助詞の意味や文法的意味を知らないまま、子供は日本語を話せるようになっています。
第一言語習得という意味では体験先行型学習と言えると思います。


プログラミング学習に当てはめてみる

分厚い本から勉強するというのは、まさに、文法から勉強し始めることに等しく、子供に絵本の代わりに、文法書渡しているようなもんです。
分からない単語を分からない単語で説明されてイメージもつかめず、ただ文字を追っているだけの状態になっていませんか??
なっているなら、あなたは体験型の学習方法に切り替えるべきです。


入門書が入門書ではない理由(余談)

プログラミングを勉強していて、何故こんなにも表現が難しいのか!
と思った経験ありませんか?
「入門」と書いてある本を買ったのに内容が難しくて理解できず、プログラミング自体が高難度だと思って、挫折思想になった経験がある人も多いのではないのでしょうか。
ですが、これにはからくりがありまして、書籍を出版する際に、最も売れるジャンルは「入門」と名のつく本になります。なので、難しい内容でも入門とつく事が多いのです。また、他言語から乗りうつってきた人にとっての第二言語「入門」である場合も少なくありません。(日本人にとって英語の入門書みたいなもの)


結局どのように勉強すべきか

プログラミングも体験型の学習で勉強しようよ!という話です。まず、コードを読み、真似(書き写す)、そして挙動を理解します。
概念的な意味の理解は一旦後回しでいいのです。
気にせずどんどん進めましょう。
具体的には
1.プロゲートやってみる  0〜30%の理解
2.動画教材をやってみる(YouTube,Udemy等)   20〜50%の理解
3.書籍で勉強する        60% 〜 80%の理解

の順で勉強することです。
個人的な意見ですが、体系的な理解をするため、また、概念的な理解を促すために、書籍は有用なので、ある程度、その技術のことを理解できるようになったら、書籍で勉強もします。その際、付属のサンプルコードは必ず、ダウンロードして、コードを読みます(エディタで色をつけて親子関係などをわかりやすくするため)


最後に

コード書け!!!!!

そして、最終的にものを言うのは継続することです。毎日少しづつでもいいので、コードに触れることをおすすめします。

以上

↓プログラミング学習の方法
https://note.com/morry48/n/n334182fe5f25

↓ポートフォリオ作りに関して
https://note.com/morry48/n/n65507defcd49

この記事が気に入ったらサポートをしてみませんか?