あなたがプログラムを理解できない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件)
- 今日のトップ記事
- 昨日
- 2日前
- 5日前
- 6日前
- 7日前
- ホワイトペーパー
- 話題のタグ
ソーシャルテクノロジーをビジネスに利用する
Mozilla Labs、Firefoxで地理情報を認識活用できるプラグイン「Geode」を正式発表
DelphiのパフォーマンスをDelphiで改善:エンバカデロの製品戦略
社内政治を生き抜くための教訓10箇条
iPhoneでVoIP--Fringを早速試す
Firefox 3のブックマーク構造を理解しよう
ウェブページの段組みをレイアウトするCSS 3のMulti Column
ラウンドアップ:「優れたUI」を実現するためのアプローチ
MSのバルマー氏、「Windows Cloud」の発表を示唆
グリーンITの第一歩は見える化です
これからの時代のセキュリティ対策
Techno Exchange
ZDNet Japan Green IT
エンタメCGM「gooメーカー☆メーカー」
KDDI「SaaSソリューション」