プログラミングを素早く身につけるには?
「プログラムってなんかやっておいた方が良さそう」
「プログラムやっといた方がいいよって言われた」
こんな理由から独学でプログラムを学ぼうとしている場合、痛い目に会いますので引き返したほうがいいでしょう。
まるで今日からランニングしようと決心したのに「3日坊主」という言葉のまま3日で終わってしまうかのように、今まで多くの戦士たちが志半ばにして挫折してきました。
私もそのひとりでした。
専門用語を連発するプログラムの世界は、初心者には決して優しくないのです。
大学一年生の授業で、C言語が必修でした。理系の学部でしたが、そもそもなぜC言語を学ばなければいけないのかよくわからなかったんです。とても優秀な教授が、「これくらい理解して当然でしょう」という勢いで授業は進んでいきました。教授自身が執筆した教科書は、必要最低限の説明とソースだけで、なんのことだかチンプンカンプンでした。もともとC言語をやっていた人以外は、ほぼ全員がC言語の「ポインタ」の授業でつまずきました。
これがきっかけで私はC言語に挫折。「プログラム嫌い」になった訳です。
時は私がプログラミングできるようになる5年前のことでした。
(その時歴史が動いた風)
その後、会社に入るとC言語の研修がありました。会社からお金をもらっている以上授業をサボるようなことはできません。眠気をこらえながら、ここでもやったC言語の演習はこういうものでした。
ループ機能を使って、
*
***
******
********
**********
こんな感じの*のピラミッドを表示しなさい。
というものでした。
これをやる意味が全くわかりません。
だってコマンドプロンプトの真っ黒い画面に
*
***
******
********
**********
ですよ
さんざん悩んで1時間かけて作ったプログラムの結果が
*
***
******
********
**********
・・・教科書通りに画面に出力された結果が
*
***
*****
********
**********
これができたからなんやっちゅうねん!と思いました。
こういうわけで、プログラムをつまらなく思ってしまうと全く吸収できません。ひどく退屈な仕事だとしか思えませんでした。
しかし本来プログラミングは楽しいものです。
その後、アセンブラ、VB、JAVA、ASP、ColdFusionといった言語を学んだのですが、「プログラミングがおもしろいな」と感じられたのはJAVAを学んだときでした。
JAVAもやはり、当初C言語を学んだときと同じで、出力結果が黒い画面に数行出てくるだけでつまらなかったのです。
しかし、その時がきたのは、研修の最後でWEBショップを作っているときのことでした。
データベースとWEBページをJAVAで連動させて、ループ処理を使って書いた結果が、こういう風に出てきた時でした。
商品情報のHTMLが自動的に繰り返されている!!
そうか、amazon の商品紹介欄はこうやって作っていたのかっ
→これがわかったときモーレツに感動しました
なんて便利なんだプログラムー!
はたからみたらループで*のピラミッド作るのも商品の表示も本質的には同じループなんでしょうけど、具体的にこうやって使えるものだとわかると楽しいです。
この時からその後学んだ言語も、覚える力が格段に上がりました。ドラクエでいうなら、はぐれメタルをどくばりで倒したような、爽快なレベルアップです。
これは、プログラムを組まないとできないことだ。プログラムができるとこういうことができるようになる。ということがハッキリわかったからです。プログラムを学ぶ意欲が、この時からまるで変わりました。
こういうわけで冒頭にあったようなモチベーションでプログラム学習に取り組むよりは、
「プログラムを組めるとこれができるようになる」
何ができるようになるのかハッキリさせてから学習に取り組まれるのをオススメします。
たとえば作りたいシステムをWEB上で探し、それと同じサンプルソースが載っている本を探し、書き写します。動かしながら覚えることで「おれってばこんなことできるようになったじゃん」とモチベーションを上げましょう。個人的には画面デザインをきれいに作りこむとモチベーションが格段に上がります。このメソッドはこんな機能とか、プログラムの歴史などは後から学んでも全然OKです。
一度きっかけをつかむと、プログラムはあんなこともできるしこんなこともできるから、楽しんで覚えられます。
自分の思っていたことがプログラムを使ってできるようになると感動
重要なのは目標の明確化。プログラムができるようになると何ができるようになるのかっていうことの理解です。