概要
プログラミング道とは,「プログラミングを楽しむ道」のことだ。
プログラミング生活六十余年の著者により,大学初年生,プログラミングに興味のある高校生,プログラムが動く仕組みを独習したい大人や初心を忘れた(?)プログラマを対象とした「プログラミングへの招待」のつもりで書かれている。
プログラミングの読み物となっている。個人的には,アルゴリズムとか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)は演算が前に来るので前置記法(ポーランド記法)と呼びます.これは英語に近い.
中置記法という概念は知らなかった。また,英語がポーランド記法,日本語が逆ポーランド記法に近いという見方も新しかった。
結論
内容が中途半端であり,プログラムの根本的なところの理解にもならず,初心者にとっても中途半端に難しいので,プログラミングを楽しむどころか,嫌いになってしまうのではないかと心配になった。
年寄りが自己満足のために書いたような印象を持ったので,どちらの目的であっても他書をあたったほうがよいと感じた。
コメント