・とにかく分けて考えること
・今できることからやってみること
人間は漠然とした大きな問題を目の前にすると、行動することができなくなります。でもよく考えると、大きな問題も小さな問題の集まりです。
まず問題を 1/2、1/4、1/8 というふうに、どんどん細かく分解していきます。どこまで細かくするかは、あなたが「この部分なら何とかできそうだ。」と思えるものが出てくるまでです。
分解は 1/2 で済むかもしれないし、1/100 にまで細かくする必要があるかもしれません。
では実際に問題を分けて考える練習をしてみましょう。例えば以下のようなWebサイトを作ってみようと考えたとします。
実際に 全国の特産品検索 にアクセスして動かしてみてください。よりイメージがつかみ易くなります。
このWebサイトは、それほど複雑なシステムではないので、プログラミングの経験がある人なら、どのように作ればよいのか大体イメージすることができます。
しかしプログラミング入門者の場合は、まったく思い付かないかもしれません。そんな時は「とにかく分けて考えること」です。
どんなに複雑に見えるシステムも小さな部品の組み合わせです。次は以下の図をご覧ください。部品ごとに番号を付け、分けてみました。
すると「自分にもできそうな部分がある」ということに気付くと思います。もちろん自分なりの方法でかまいません。
HTMLを少しでも知っている人は、「タイトルや説明の部分だけならできそうだ」と思うはずです。
または「都道府県の表示までならできる」という人もいるでしょう。ここまではプログラムを使わないで、HTMLタグだけでも可能です。
もう一歩進んで、「Ajaxの非同期通信を使えば、都道府県は動的に表示できるのでは?」と考える人もいると思います。
都道府県を切り替えた時に、市町村を自動的に切り替えるためには、プログラミングの知識が必要になります。同じように商品を表示する部分もプログラミングが必要です。
大事なのは、自分ができそうなサイズになるまで分けて考えて、「今できることからやってみること」です。特に初心者は、実際に手を動かして作ってみると、自分に足りない知識や技術が明確になります。
やるべきことが見えてきたら、ほとんど成功です。
問題点が明確になれば、あとは解決策がどんどん引き寄せられてきます。身の回りにある情報に気付くようになるというだけかもしれませんが。
解決策はいろんな形で現れます。書店や図書館で、たまたま手に取った本に答えが見つかる場合もあるし、インターネット上で解決策を目にするかもしれません。または知っている人が教えてくれる、周りに詳しい人がいなくても出会いがあるということもあります。
解決策が出てこないということは、まだまだ問題が大きすぎるということです。さらに小さく分けて考えましょう。
地球温暖化を解決する方法は思いつかなくても、各家庭でできる省エネルギーや、自分の部屋だけでできることくらい細かくすれば、実際に行動に移すことができます。
分解してできることから始める、これがプログラミングのコツです。