ソースコードなしでプログラムの本質を解説するような書籍を編纂できないか、大学教員と雑談したことがある。プログラムとプログラマ的思考は別モノだし、なにより自分が読みたかったからだ。もっとも、この企画は頓挫した。出版するだけの意義を提示できなかった(=編集会議で企画を通せなかった)からだ。
それから約10年が経ち、待ち望んでいた書籍が出版された。それが本書『教養としてのプログラミング講座』だ。著者は手書き利用に特化したタブレット「enchantMOON」などで知られる、ユビキタスエンターテインメントCEOの清水亮氏。文系学生を主な対象とした大学講義がベースで、言葉遣いも平易なため、高校生でも問題なく楽しめるだろう。
本書では社会に存在するプログラミング的な要素の紹介から始まり、徐々に複雑な概念を、身近な事例と共に解説していく。「採点された答案用紙を受け取り、70点未満の答案を選り分ける」といった事務作業にも、「処理」「分岐」「ループ」というプログラムの三大要素が含まれている、といった具合だ。
後半ではビジュアルプログラミング言語の「MOONBlock」で簡単なプログラム作成の方法を解説する。ブラウザ上でブロックを組み合わせてプログラムを作るため、初心者でもわかりやすい。コンピュータの歴史解説コラムなども簡潔で的を射ており、中上級者でも気づきがあるだろう。
書籍名のとおり、著者はプログラミングを「現代人の教養」であると解く。プログラムとはコンピュータを意図通り動作させるため「手順を正確に記した命令書」で、動作対象はコンピュータに限らないというわけだ。
実際、子どもにお使いを頼む、社員を効率的に働かせる、税金を公正に活用するなど、社会は様々なプログラムによって、半自動的に動作するシステムの集合体だと言えるだろう。そのため、プログラマ的な視点を持てば、社会との折り合いをつけるのも、より容易になる。「プログラミングを理解することは、『世の中の仕組み』を理解すること」(本書より)。なるほど現代人の「教養」というわけだ。
ちなみに「ソースコードなしでプログラムの本質を解説する」はただの思いつきだが、そこに「教養」という切り口が加われば商品企画となり、出版できる。これこそ「企画術」だ。もっとも「教養」というキーワードは、文学部で学ぶ女子学生の一言がきっかけだったという。創造的な仕事には参加者の多様性が必要であることが、改めて示されている。
『教養としてのプログラミング講座』
著:清水亮、出版社:中央公論新社
出版社サイト