Webサイト専門プログラマの言いたい放題

元システムエンジニアがサイト制作とプログラミングについて好き放題しゃべります。

【プログラミングは覚えてできるものではない】

f:id:wp-lesson:20151012175721j:plain

プログラミングは何ヶ月ぐらいでマスターできますか?

まず、プログラミングというのは1つではありません。

世の中に無数に存在するプログラミング言語の1つ、または
2つ以上を組み合わせて作るものです。

「英語をマスターするのに何ヶ月あればできますか?」

という質問と同じです。

どのレベルまでマスターしたいかによって違いますし、
本人の能力と努力による個人差というのもあります。

プログラミングで絶対に必要な能力とは?

記憶力ではありません。

物事を論理的、体系的に捉えて組み合わせることができる
論理的思考力が絶対に必要です。

簡単な例で説明しましょう。

現地で生活できるくらいの英会話ができるようになりたい人が
一生懸命に単語帳を使って10000語を暗記したとします。

これで英会話できると思いますか?

無理ですよね。

では、どうして無理なのか分かりますか?

「この場面ではどういう言い回しをするのだろう・・・」

そう。使い方が分からないからですよね。

会話の中で登場する1つ1つの単語の意味がわかることは
もちろん、会話の意味を理解する助けになるので大切です。

でも、いざそういう場面に遭遇したときに自分から会話が
できるかというと、そうではないですよね。

それは、「単語の組み合わせ方」「どんなシーンで使うか」
を知らないからです。

プログラミングもそうなんです。

プログラミングの世界では、英単語がたくさん登場します。
でも、それらは単独ではただのキーワードに過ぎません。

プログラミングでよく使うキーワードをいくら覚えても、
1行すら自分で書きはじめることはできないでしょう。

意味だけでなく、もっと広い概念を理解しなければ、
どのような場面で何のために何をどのように書けば良いかを
思いつくことができないからなのです。


・メモリを確保(アロケート)するとはどういうこと?
・スコープとはどういうこと?
・値渡しと参照渡しの違いとはどういうこと?
・キュー、スタックというのはどういうこと?


いくらでもありますが、このような概念の理解が
プログラミングをマスターするための基礎知識なのです。


これらが理解できてくると、自分が作りたいものを作るために
何をどんな順番でどのように書けば良いだろうかという発想が
できるようになってきます。

この「発想」は誰も教えてくれないんです。

この「発想」ができるということが、「プログラミングができる」
ということなんです。

そして、「発想」ができるようになるためには、
何と何をどう組み合わせたらどうなるだろうか?
と思考する力が必要です。

「もし、こうやったらこういう結果になるだろう」

という結果を想像する力です。

そのためには、論理的に考える力がどうしても必要なわけです。

だから、プログラミングは覚えてできるものではないのです。