こんにちは。基礎は大切。只野です。
前回の昔話で、私は学歴も何もないのだけれどIT業界で働くことになったお話をしました。当然何もない私です。プログラムをやることになっても何もわからないわけです。そもそも勉強してこなかった私なので、何も知らない物を勉強するにはどうすればよいのかもよくわかりません。ダメ人間です。はい。一人だったっら無理でした。私が入社した会社は基礎教育をしっかりとしてくれたのでとても助かりました。
インターネットでプログラムの勉強方法を調べると「コードを書いて覚える」的な体で覚えろのような記事をよく見ます。ですがプログラムで一番大切なのは「動きの順序」が分かっているかとなります。これが分からないといくらコードを書いたところでプログラムができるようにはならないと考えます。「コードを書いて覚える」でプログラムができるようになったという方は無意識で「動きの順序」を考える能力を身に着けたのだと考えます。
「動きの順序」とはどういうことかというと、例えば「手を挙げる」という動作をやる際にどうやったらその動きができるかを考える事です。ここで「手を挙げるだけじゃん」という考えはダメです。「手を挙げる」にはどこから動かしますか?これは人によるかもしれませんが、まずは「肘を90度上げる」から始まり「肩を上に上げる」と続きます。引き続き上げるのですが、ここで肩を上に上げ続けると「手を挙げる」ではなく、「肘を挙げる」となります。なので条件が生まれます。「肩が90度になった?」という条件を付けます、条件に一致したら「肘を伸ばす」に続き「肩を90度上に上げる」と動きを続けます。一連の流れをまとめると下記となります。
- 肘を90度上げる
- 肩を上に上げる
- 肩が90度になった?
- 肘を伸ばす
- 肩を90度上に上げる
このように目的の動きは集合されている動きからなる事が殆どです。プログラムはこの集合されている動きを一つ一つの動きへ分解して、一つの動きを命令していく作業となります。あとは自身が書きたい言語でやりたい動きに当てはまる命令文を探してください。それがプログラムになります。わかればなんだという話ですが、これが分からないといつまでたっても自身でプログラムをできるようになりません。インターネットのコードをコピペするだけとなるでしょう。「動きの順序」を考えるは日常的に鍛えられます。題材は料理の順序とかなんでもよいので考えてみるとよいでしょう。プログラムの勉強でこの「動きの順序」を考える手段として「フローチャート」という図を描いたりします。これがプログラム基礎となります。これからプログラムを始めようと考えている方はここから始めるのがよいでしょう。
本日はこの辺で