「もう、学ばないわけにはいかない」と強要している『教養としてのプログラミング講座』

http://instagram.com/p/oVDtkBqHHa/

単純に、話題だから読んでみた。

内容としては、コンピュータを動かすだけがプログラミングじゃない、もっとプログラミングを大きく解釈すると仕事や生活で、万人に役に立つはず、という趣旨。

プログラミングって、なんぞや

この本では、プログラミングを「コンピュータを命令通りに動かす」というものから範囲を広げて、

自分以外のものを、思い通りに動かす方法

この定義によって、筆者は日常の例えば「子育て」もプログラミングであると言っている。

これが前書きに書いてあるので、正直ひとによっては「ん?」となってしまう。もっと言うと「はぁ?」と嫌悪感すら覚える人が居るかもしれない。

コンピュータのプログラミングをしている身からすると、ちょっと例えが良くない印象。 とはいえ、せっかく買ったので読み進めてみた。

日常にある「プログラミング」

筆者が言うように、日常には(拡大定義のほうの)プログラミングがあふれている。

上で出した子育ての例よりもう少しマシな例として「四つ葉のクローバー探し」が出てくる。

広い原っぱで4人が四つ葉のクローバーを探そうと思ったら、4人が同じ場所を探すよりは、手分けしたほうが効率がいい。

これをプログラミングでは分割統治法と言うのだそうだ。*1

こんな感じで、●●は、プログラミング的考え方では□□と言う、といった「非コンピュータ」と「プログラミング」の結びつけが語られる。「ほら、意外と身近なんだよ」と言いたいんだと思う。

ものごとを「プログラミング」として考えると身につくこと

この本を読んで「プログラミング」を身近に感じ、教養レベルで知ることによって身につくことが4つ挙げられている。

  • 論理的なものごとの考え方
  • 情報を適切に分類し、活用する方法
  • 最小の手間で正確な仕事をこなすための思考法
  • 知らない人と知恵を共有する方法

この点については、納得できると思う。

この本全体にぼんやりしてるので、普通にコードでプログラミング学んだらいいと思う

コード無しで教養としてプログラミングを学ぼう、という話なので、取っ付き易いのかもしれないけど・・・例えば自分の両親とかにこの本を渡したとしても、「ほう、なるほど」と思ってもらえる感じがしない。

帯にあるように「もう、学ばないわけにはいかない!」と言うのであれば、コードの読み書きを伴う学びのほうがいいんじゃないかとすら。途中では定理証明支援系にまで話が及んでいて、本当にどこの誰ターゲットなのかわからなくなってしまった・・・。

プログラミング経験者なら一読してみてもいいかもしれないが、これで「プログラミングを学ぼう!」と中高生が読もうとしていたら、止めます。

教養としてのプログラミング講座 (中公新書ラクレ)

教養としてのプログラミング講座 (中公新書ラクレ)

*1:そうだ、と書いてますが知ってます。念のため。