書評:教養としてのプログラミング講座(著:清水亮)
真っ暗な画面に英数字や記号を羅列することがプログラミングではないってことですね。「プログラミング思考」を実生活に活かそうって本です。JavaとかPHPなどといったプログラミング言語そのものについては触れられていません。一応子どもでも遊べる、ビジュアル的にプログラムを組めるプログラミング言語、MOONBlock を使った初歩的な内容には触れられています。ブラウザ上で手軽に遊べます。
参考:MOONBlock とは
IT関連ニュースで見かけた enchantMOON はこの方が開発されてたんですね。知りませんでした。
参考:enchantMOON | プロダクト | 株式会社ユビキタスエンターテインメント
参考:enchantMOON; The Hypertext Authoring Tablet
僕自身は学生時代に授業でBASICやC言語にちょっと触れただけです。卒論では話者認識のプログラムを書いていたんですけどね。今書けと言われたら絶対無理。今はブログを書いているのでPHPやらHTMLを見よう見真似でコピペする程度。全く触れたことの無い方に比べれば、毛嫌いするようなことは無いです。
人間がコンピューターにして欲しいことを命令する場合、相手(コンピューター)に理解できる言語で話して挙げなければなりません。それがプログラム言語です。そこには決まったルールがあるので、その通りに書かなければ相手は理解してくれません。人間なら多少言葉が曖昧でも相手が考えて補完してくれますが、コンピューター相手だとそうはいきません。だからこそ人間には”誤解”が生まれるとも言えますし、コンピューターには”誤解”が無くても言われた通りにしかできません。実生活でも相手に何かを頼む(指示・命令する)ときは、相手の理解度に合わせた言葉を選ばなければなりません。本書の中でも例として挙げられていますが、買い物を小さな子どもに頼む場合と、大人に頼む場合を考えるとイメージしやすいかもしれません。小さな子どもに頼む場合がまさにプログラミング言語と重なるところで、どこで、何を、いくつ、いくら以内で、どんな場合に、などの条件を不足無く伝える必要があります。これを本文より引用すると以下のようになります。
杏花ちゃんへお買い物を頼むプログラミング
杏花ちゃん へ 1000円を受け取れ スーパーマーケットへ行け 長ネギを2本買え もしバナナが一房200円未満なら バナナを買え 帰りにコンビニに行け 週刊アスキーの4/15号がでてたら それを買え ただし、途中で何か変なことがあったり、怖いことがあったら すぐ家へ帰れ
これがまさにプログラミングです。プログラミング言語の本質が単なる英数字や記号の羅列では無いことことがよく分かる例えですね。買い物の例以外にもこのような「プログラミング思考が活きる場面」が多く挙げられています。
プログラミングやコンピューターの歴史についても解説されています。コンピューターの未来を考えるうえで過去の背景を知ることは重要ですし、読んでいてとても新鮮でした。蒸気機関で動くコンピューター(計算機)があるなんて初めて知りましたし、コンピューターの黎明期に日本人がその発展に大きく貢献していた事実は大変嬉しく思います。
本書は特定のプログラミング言語を勉強するには向きませんが、その根本にある思考法について学ぶには適していると言えます。プログラミング言語を学ぶ予定が無い方でも、その思考法を知ることによってプライベートでもビジネスでも実生活に活かすことができます。前述した買い物の例などはビジネス上の指示・命令などのコミュニケーションに大いに役立つことでしょう。普段何気無く”気持ち”や”勘”で行動しているつもりでも、その理由を深く探ればここに行き着くはずですし、それを言語化できなければコミュニケーションはとれません。頭の整理にも役立ちますね。ぜひ活かしたいと思います。
教養としてのプログラミング講座 (中公新書ラクレ)[Kindle版] | ||||
|