最近、メソッドを忘れると、「ぐーぐる先生に聞くべし」な今日この頃。
私がIT業界に入ったウン十年前には、「プログラミングを勉強しよう!」と思ったら、

・書籍
・先輩に聞く
・専門学校へ行く
といったぐらいしか思いつきませんでした。

昨今は、学ぶための学校が増えただけでなく、Webサイトには情報が氾濫し、言語仕様を勉強することも、いろいろな体験談(何を作っただけでなく、失敗談など含む)から実際に作る時の参考情報を得ることも簡単になりました。動画を見ながら勉強なんて、なんという文明の利器!(私は意外とアナログちゃんなので、こう思ってしまうのです。)

これだけたくさんの手段があると、逆にどうしていいものか、悩んでしまいます。
そこで、私が考えるところの「効率の良い方法」は、こんな感じです。

1.自分で使うものとして、作るものを決める

2.類似するExampleを見つける

3.Exampleに手を加えて自分に作りたいものにする

4.他の言語で同じことをやる

5.それぞれできたもの見比べる

  1.自分で使うものとして、作るものを決める

これは「設計」スキルに影響します。仕事において、そもそもプログラミングする時は、「存在しない」から作る、というのが基本。単にExampleを見て、それにそって作るだけでは、「どう作ろう?」「どうしたらいいか?」と考えることが少なく、自力で何かを生み出す方法を獲得することが難しいと考えます。

自分で使うものにすると、あれこれ自分にとって便利なものを作りたいので、工夫をこらそうといろいろ考えるのではないでしょうか。

  2.類似するExampleを見つける

だって、フルスクラッチ面倒だもの。

というと、怒られそうですが、最初からなんでも自分で作ろうとすると時間がかかりすぎて、そのうち辛くなります。できあがらなくて。
なので、ありがたく、近しいExampleを使わせていただくために、探します。

ネットの玉石混交な情報をかき分けて探すのも、“探す”テクニックのトレーニングになるでしょう。




  3.Exampleに手を加えて自分に作りたいものにする

まずは、改変が少なそうなところから着手して、うまくいくことを確かめます。
さくっと動けば、それだけでもウキウキします。

徐々に難しそうなところに手を入れていくと、言語やExampleの内容に関する知識が増えて、「なるほどね」と後から使えるテクニックが身につく可能性大です。

  4.他の言語で同じことをやる

3までのことを、別の言語でやってみると、それぞれの言語特性が分かります。
言語は複数できるほうが、プログラミングのスキルが上がるだけでなく、ひとつの言語にとらわれることに寄る「できないと思う」の思い込みから、解放されます。




  5.それぞれできたもの見比べる

言語毎の得意、不得意を見ながら、「どういう場面だったらコレだなー」と頭の中で整理します。プログラミングで使う言語は、多かれ少なかれ類似性があり、ある言語でできることは、他の言語でもできますが、やっぱり使いやすさというのはあるので、その点をまとめておきます。また、この“類似性”が自分の中でしっくりくると、別な言語に対面した時も「あーこんな感じなのか、な?」となんとなーくでも理解しやすくなります。

  プログラミングを勉強するための「効率の良い」方法


 
ここまでやっておけば、「他の違う言語でプログラミングして~」と無茶振りされても、2週間から1か月の助走で、開発にjoinできます。
「プログラミングを学ぶ」とは、特定のプログラム言語に習熟して扱えるようになることではなく、

数多のプログラム言語を作りたいものに合わせて選択し、開発に耐えうるぐらいに使いこなせるようになること、

と私は考えます。だからこそ、私が考える「効率の良い」方法は、“こんな”感じなのです。