プログラミング書法とプログラミング作法

id:ooparts77:20110927で「アルゴリズムとデータ構造 (旧題「アルゴリズム+データ構造=プログラム」)について書いたけど、それと同じ頃読んで、影響を受けたのが「プログラミング書法」という本。

プログラム書法 第2版

プログラム書法 第2版

今と違いプログラムを作るということが、特別というか特殊なことと考えられていた時代の本であり、登場するプログラムはFORTRANPL/Iで書かれている*1。「構造化プログラミング」という考え方が広まりつつあった頃の本であり、「オブジェクト指向」なんて概念は影も形もなかった頃*2。なので古典の部類に入るのは間違い無し。しかし書かれている内容は今でも十分通用する。たとえばこの本の「なか見!検索」の先頭から1/3付近に

わかりやすく書こう。

 ー うますぎるプログラムはいけない

とある。著者達は何を伝えたいのかピンと来る人もいるでしょう。こういったプログラムを書く上で有用なスタイルを教えてくれた良書でした。

そして次に読んだのが「ソフトウェア作法 」。これは「プログラム書法」以上に目が覚める思いをした本。「プログラムを作るというのはどういうことなのか?」を学んだ本であり、プログラマーとしてのキャリアを積み重ねる上で、基礎知識を与えてくれた本。

ソフトウェア作法

ソフトウェア作法

今でも非常に有用な本だと思うけど、残念なことにこれもFORTRANというか、FORTRANプリプロセッサRatfor (RATional FORtran) で書かれている。でもRatforで書かれたプログラムは擬似構造化言語っぽくなるので、CとかJavaをやっている人なら読めるのではないかと思う。内容としては原題「Software Tools」の通り、フィルタープログラムのようなちょっとしたツールプログラムをstep by stepでエンハンスしながら、プログラミングを学んでいくイメージ。古典的名著だと思うけど、これを読んだ、という人は自分の周りにはいない模様。

*1:今となっては、こんな名前の言語があることを知らない人のほうが多いでしょうね。

*2:正確に言いえば、オブジェクト指向言語の祖であるSmalltalkが公開された頃であり、共立出版社から発行されていた「bit」という名前の雑誌が取り上げていたかもしれない。