あなたがプログラムを理解できない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件)
- ホワイトペーパー
- 企画特集
そのストレージで仮想化に対応できますか?
インターネット上の悪意を未然に防ぐには?
【徹底対談】運用管理ツールの賢い使い方
仮想環境を実現するソリューション特集
SOA、BPM、SaaS −今、企業に必要なこと
集積度も性能も、業界最高水準のブレードPC
パンデミック対策特集
ストレージメディア特設サイト開設
ESBでIT投資の無駄を劇的に解消する
中小企業のセキュリティリスクとは?
セキュリティ&ユーザ事例【SIer Club】
御社のログ活用しませんか!?
ロリポップ!がリニューアル
◆エン・ジャパン厳選求人☆毎週更新◆
今注目の「サジェスト検索」−デモ掲載中
- エンタープライズにおけるSUSEの強み
- サービス・ドリヴン・データセンター
- ■ストレージ容量50%削減保証■
- サーバー監視・運用のコストを削減するには
- 話題のタグ
Windows 7はLinuxへの切替が簡単:注目の仮想ディスクフォーマット「VHD」
iPhone OS 3.0で変わった「絵文字」
OSSのクラウド基盤「Eucalyptus」を使う(4)--インストール〜ノード構築
俳優経験者が指南する「人前で上手く話すためのティップス10選」
「うるまでるびペイント」登場:絵は上手下手ではなく制作過程に楽しみが
待てば回路の日和あり--「iPhone 3GS」発売、しかし――