書評☆2 プログラミング道への招待 | 足し算による引き算の定義

概要

プログラミング道とは,「プログラミングを楽しむ道」のことだ。

プログラミング生活六十余年の著者により,大学初年生,プログラミングに興味のある高校生,プログラムが動く仕組みを独習したい大人や初心を忘れた(?)プログラマを対象とした「プログラミングへの招待」のつもりで書かれている。

プログラミングの読み物となっている。個人的には,アルゴリズムとかCPUの仕組みなどコンピューターの基本的なところの理解を深めたいなと思って読んでみた。しかし,目的とは合っていなかった。

CPUとか機械語のことも一応触れられているが,あまり深堀はされていない。初心者向けに書かれているのでしかたないかと思い,初心者の視点に立って読んでみても,いまいちだった。

初心者向けに書いてあるということだが,その割にはけっこう細かい内容が書いてある。アルゴリズムだとか,コンピューターの原理だとか。正直この内容を初心者に読ましても,退屈するのではないかと感じた。

参考

p. 107: 足し算しかないのに引き算に挑戦
y←x-1≡[u←0;v←0;loop x do u←v; v←v+1 end; y←u]

z←x-y≡[w←x; for y do w←w-1 end; z←w]

ホワイル (while) 言語という文 (statement) が5種類しか存在しない極めてシンプルなプログラミング言語で,足し算だけで引き算を実現する方法を解説していた。

今までそのようなことを考えたことがなかったので,この発想には驚いた。

p. 139: 日本語と英語の違い?

英語では,xとyを足すことは

add x and y

と書きます.しかし,日本語では

xとyを足す

と書きます.つまり,演算を表す動詞が最後に来るのです*11。

*11 引数を並べてから,関数(演算)名を書く方法を後置記法(逆ポーランド記法)と言います.日本語に近いですね。後置記法に基づいた電卓やプログラミング言語があります.これに対して,x+yは演算が真中に書かれるので中置記法,add(x,y)は演算が前に来るので前置記法(ポーランド記法)と呼びます.これは英語に近い.

中置記法という概念は知らなかった。また,英語がポーランド記法,日本語が逆ポーランド記法に近いという見方も新しかった。

結論

内容が中途半端であり,プログラムの根本的なところの理解にもならず,初心者にとっても中途半端に難しいので,プログラミングを楽しむどころか,嫌いになってしまうのではないかと心配になった。

年寄りが自己満足のために書いたような印象を持ったので,どちらの目的であっても他書をあたったほうがよいと感じた。

パーマリンク: https://senooken.jp/blog/2018/07/03/

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です