プログラミングを初めて、早くも1か月は過ぎました。
ペース的には恐ろしいほどまったりとしています。
そんなまったりの自分が驚いたのは、今になって基礎の基礎というか初歩的な情報を手に入れたことです。
これまで少しずつ積み上げた結果なのか、間抜けなだけなのか。。。
その情報はプログラミングにおける処理の種類が大きく3つしかないということです。
その3つは、 順次、選択、繰返し です。
・順次とは、アルゴリズムというようにパソコンに処理の順番を教えることです。この順次を的確に教えることで効率の良い作業をしてくれます。
・次に選択は処理の条件を教えることです。IF関数のように、この数値以上ならこの処理をするなどパソコンに選ばせます。
・最後は繰り返しで、処理を適応させるデータを網羅するまで一定の処理をさせるものになります。
この3つだけという知識が抜けていた私は学びながら、空中分解していました。本気で頭の中は宇宙散歩でした。笑
なんかよくわからんけど、高階関数って出てきた。気合でイメージ掴むしかないやん。。みたいな感じで。
ですが、この知識を入れた今ならこの高階関数も特に選択と繰返しの応用なんだなと分かるようになります。
宇宙ではなく、地面ができた気がしました!
皆さんもぜひ参考にしていただければなと。知識の入れる順番の大事さを改めて痛感しました。
*余談
誰の講義か忘れましたが、有名な大学の教授の講義でバケツにものを入れる順番を説く講義を知っているでしょうか。
大学の教授が大きな石をバケツに入れて、生徒に「このバケツは満タンか?」と問います。
そこから、小さな石、砂、水を入れてバケツを本当の意味で満タンにしていくのですが、
最後に教授が 「何が言いたいか分かるか」と問います。
皆さんは何だと思いますか。
生徒は答えます。「どんなにしんどくて限界が来た時でも、細部を見ればまだ頑張れる余地があるということです」と。
教授は答えます。「そうじゃない。この大きな石は君たちの最も重要にするものだと。人生という大きなバケツの中で君たちが本当に成し遂げたいものを先に入れないと君たちの人生に入るものの余地はなくなる」と。
この話では、人生の生き方を語っていますが、知識も相だと思います。大きな枠組みの中から基礎的な部分を学ばないと、逆に通り道をしてしまう。専門性が高く、難しいものを勉強しているとあたかも賢くなっている気になる。しかし、急がば回れのように地道な積み重ねが大事なのではないでしょうか。
そんなことを思ったプログラミング世界の宇宙旅行をしていたものの意見です。笑