今回から3回にわたってご紹介するのは、『教養としてのプログラミング的思考』
という本です。
題名-『教養としてのプログラミング的思考』①
著-草野俊彦
出版-SBクリエイティブ
ざっくりこの本について紹介すると、私たちプログラマーがどのようにプログラミングをくみ上げているのか、その思考法のエッセンスを分かりやすく説明しています。
そして、皆さんの生活の中に起きる問題に対してプログラミング的な論理的な思考で解決していけるようになろう!といった内容です。
そして、本書の中でも紹介されている内容を一部抜粋し、わたしの見解も交えながら紹介していきますね!
今回は、シーケンシャルな処理についてご紹介していきます。
本書では、ご飯を炊くときの手順について、以下のような例を出し、それに対してプログラミングをする場合に不足している情報について指摘しています。
《炊飯手順》
以上が、一般的な家庭炊飯器の炊飯手順ですが、これをもしプログラミングに読み込ませようとした場合、以下のような情報が不足していると考えます。
①お米の量
⓶米を研ぐ作業時間、作業回数、研ぎ方
③炊く際の水の量
④セットする炊飯コースの指定
プログラミングでは、普段人間が意識しない微細な量について、事細かく指定してあげる必要があります。例えるなら、小さなこどもに対してはじめてのことを教えてあげるときのように・・・。
以上の内容がどのように生かせるのかというと、
例えば新人に対して仕事のマニュアルを考える際に、どのような事柄をどのような順序で書いていくのが良いのか、普段気にしていない作業の細かい内容について洗い出す際の思考に生かせるのではないかと思います。
基本的にプログラムを実行するコンピューターは、言われたことをただ忠実にこなすだけの機械です。
間違えたことをそのまま教えれば、その通りに実行しバグを引き起こすかもしれません。
それを阻止するためには、実行してもらいたい作業内容を事細かに伝える必要があるのです。
人に物事を教える際も、この考え方と似ていて、前提知識がない人に対して間違ったことを教えれば、それを信じて実行し失敗してしまうだけなので、その失敗を回避するためにも、慣れてしまっている作業を細かく分解して説明する。
この説明のためのトレーニングにプログラミング的思考は生かせるのではないかと思います!
本日の紹介はここまでとしますね。
次回は、また月の内容をご紹介しますのでお楽しみに~♪