あなたがプログラムを理解できない10の理由:第4回
プログラムを概念的に学ぶのも大切だが「○○してみたい」という欲求がなければ身につかないものだ。ただし、あまりに実用的なプログラムを作ろうとすると、何が必要で何を学べば良いかも分からず、途方に暮れることになる。
やってみたいことがない
学生時代はよく「テストに出るから」という理由で歴史上の人物の名前を覚えたり、英単語を100個覚えたりしたものだ。
しかし、試験前日に勉強した歴史上の人物は覚えられないのに、ふとテレビで見たお笑い芸人は一度で覚えてしまう。英単語は覚えられないのに、ポケモンの種類は100種類以上言える。
地理の勉強の時はミュンヘンという都市がどこにあるのかなど興味もわかないのに、いざドイツ旅行に行くとなれば、あっという間にその場所や特色なども覚えてしまうことだろう。
そんな経験はないだろうか?
つまり、もし皆さんが「スクリプトをなかなか理解できない」と思っているなら、スクリプトは「歴史上の人物」や「ミュンヘン」と同じ位置にあるのだ。「自分には関係のないこと」「勉強しなければならないもの」など、身近に感じることができていないために、どんな知識が出てきても実感がわかないのである。
では、スクリプトにおける「実感」とはどういうことなのだろう。それはひとえに「作りたいものがある」のか、それとも「スクリプトを勉強したいと思っている」のかの違いである。
たとえば、入門書などに次のような記述があったとする。
MySQLから、レコードセットを取得する場合には「mysql_query」というファンクションを利用し、取得したレコードセットを「mysql_fetch_assoc」などで取得する。
$record = mysql_query($sql); $table = mysql_fetch_assoc($record); echo $table['field1'];
このとき、もしあなたが「PHPを勉強したい」という気持ちだけで入門書を読んでいるなら、上記はあくまで事実を伝えるものという役割しか満たすことができず、「mysql_query」や「mysql_fetch_assoc」という記述は、「単語」としてしか映らない。これでは、頭にはいるわけがない。
実際にサンプルを打ち込んで動かしたとしても、「動いた」という結果だけで、それ以上のものを得ることができないのだ。
しかしこのとき、もしあなたが「ブログのような日記管理システムを作りたい」という気持ちを持っていれば、上記の記述で「記録した日記はこうして取得することができるのか」と、実感を伴ってその知識を得ることができる。
そして、サンプルを動かし正常に動作したとなれば、「今度はこれを日記のタイトルと、本文にして動かしてみよう」などと、新たな欲求が生まれるかもしれない。
次々とわく欲求に従って試行錯誤していると、正常に動作しなかったり、知識が足りないことに気がつくだろう。すると、入門書にも好奇心を持って挑むことができ、「作業」や「仕事」にならずに楽しく学習できるのである。
ただし、作りたいものを思い浮かべる時に、若干注意しなければならないことがある。それが、次のポイントだ。
- 特集: あなたがプログラムを理解できない10の理由 (5件)
- ホワイトペーパー
- 話題のタグ
グーグル、JavaScriptプログラミングツールをリリース
Windowsの歴史 Windows Server 2008編:同じカーネルを持つ「Vista」とは対照的に早くから支持を得たサーバOS
Windowsの歴史 Windows Server 2003 R2編:安定性と先進性の両立目指す「R2」の先駆けとなったOS
モジラ、「Firefox 3.6」の第1ベータ版をリリース
―エン・ジャパン厳選求人☆毎週更新―
企業ITシステムの企画、構築、運用のイロハ
最大32個のセンサーが電力を徹底管理!
100万円で実現!中小企業の情報漏えい対策
【最終警告】パンデミック対策特集
進むストレージ環境の見直し
大丈夫?あなたの会社のセキュリティ対策