arcanum_jp’s blog

おっさんの日記

「教養としてのプログラミング講座 (中公新書ラクレ)」を読んだ。これがオレのdynabookだ!(進化中)キリ!


 東京出張で出勤が一時間もあるよーー困ったヨー、なんてこったい!暇潰し探さなきゃ!と言うことで買ってみた本。なかなか面白いって噂だし、どれ俺もプログラマの端くれ、面白いかどうか読んで進ぜよう・・・(かなり上から目線)とか言う心理があったかどうかは定かではない。いろんなところで面白いって話を聞いていた、読んでいたので買ってみた。


 教養としてのプログラミング講座なので、僕ら魔術師が黒い画面にlsとかcdとか書くような黒魔術とかは一切出てこない。平易な日本語でプログラムの考え方を書いてある。ふむふむ、自分たちの日常を日本語でのプログラミング風で表現してプログラミングなんてこんなもんだよ!って言っている。それってぇと、何かい?俺らプログラマがディスってる詳細設・・計ナントカってのも日本語で処理が書いてあるからプログラムの一種かい?イヤイヤイヤイヤ!俺は認めんね!とか思ったとか思わなかったとか。しかし、言語は限定されるけど、自分も楽に書ける言語はある。プログラミングって論理的な物事の考え方か、、、直感的だとおもってたw


 繰り返し、処理、条件分岐などのプログラミングのほかに色々と実生活に役に立つプログラミングの考え方がおもろかった。サブルーチン、ハッシュテーブル、計算テーブルとか、、、僕らが何気なくやっている行動をプログラミングやアルゴリズムに対比し分かりやすいし、なるほどーーっと思った。


 例えばハイパーリンク、僕らが大好きなインターネットのHTMLに使われているアレだ。本書では「本の目次」などの例で書いている。その本の自力ハイパーリンクでできていたのが「ゲームブック」・・・懐かしい。一時期自分もハマったな・・・中学校〜高校の頃かな?いまはそんな本見なくなったけどね。


 そこで自分も考えてみた。んーー、アレだカード決済なんかもハイパーリンクだよね。実際のお金はどっか、銀行かどっかにあるけど、それの目録が預金通帳、そしてその預金通帳へのハイパーリンクがカード。銀行カードもそうだろう。他にはなにか?住所かな?住所はあくまで場所(郵便ポスト)に対するものだな。TVのリモコンなんてのも考えればそうかもしれない。


 こう見ると実態があってそれを指し示すなにかがあればそれは本書風に言うとハイパーリンクな言語であるて事なのかな。そう考えてみると色々出てくる。言葉を使っている以上、既にそれは抽象化されている何かであり、単語はそれを指し示すモノだ。そう考えると言語自体がハイパーリンクな訳だけど。


 プログラミングを知らない方にはプログラミングとは何ぜよ!と言う疑問に小一時間で答えてくれますし、プログラミングを知る黒魔術師たちにも、いつもカチャカチャやっている狭義のプログラミングじゃない、僕らの身近なものがプログラミングの一種だと気づかせてくれる。おもしろい本。おすすめだよ。


 え?タイトルのオレのdynabookの意味かい?著者はenchantMOONを作ったあの人だぜ。当然本書にもプログラミングの未来の1形態として著者の作成したenchantMOONを紹介している。おおー!これは著者の考えるdynabookなんだな!と僕が思っただけだよ。