「プログラム書法 第二版」購入メモ

「プログラム書法 第二版」

Brian W.Kernighan and P.J.Plauger 著  木村泉訳

(共立出版株式会社 ISBN 4-320-02085-5 C3041)

 著者の一人は、CプログラマにはK&R(「プログラミング言語C」) でおなじみのカーニハンで、昔から、同著者たちの「プログラム作法」と 合せて、名著として勧められている本です。 (訳本の第一版が1976年で第二版が1982年)

 プログラムの書き方についての本です。
 別段高度なことが書かれてるんじゃなく、段付け(インデント)しよう、 とか、紛らわしい名前をつけるのはやめよう、とかの、基本的なこと、 でも初心者のうちはあまり気にしないような、やりかた、とか、態度とか いったことがらを、実例を示しながら、いろいろ書かれてます。

まえがきから抜粋すると、

「よいプログラミングのしかたは、一般論を述べ立てることによって 伝えられるようなものではない。プログラムのよい書き方を学ぶ道は、 現実のプログラムが、プログラム書法の諸原則に従い、かつ、 いささかの常識を働かせることによって改善されて行くさまを、 繰り返し繰り返し眺めることにある」
「本書では、各例題の欠点を論じ、書き換えて改善し、そのあと 特定の例から一般原則を導き出す」
「この本は、初級と上級を問わずプログラミング関係のあらゆる レベルの講義における副読本として、また経験を積んだプログラマ向けの 知識整理のための読み物として、利用できる」
ってことで、その通りの本です。

 ただ、書かれた時期の対象とした読者層の違いで使用言語が古い仕様 の FORTRAN と PL/I なのが、しかたないとはいえ現状を思うと 悔やまれる……Cなら人(後輩とか)に勧めれるのに()

  「書法の原理は、いかなる言語にも、アセンブラ語についてさえ通用する」
とも述べられてて確かにそういう本なんですが、 そうはいっても、かなりの部分、とくに 実例は (古い) FORTRAN 固有の問題に対する防御の話も多く(もっともそれは アセンブラプログラミングに通づるモノもあるのだけど)、 プログラム(言語)することが好きとかいうのでない相手、仕事として/ 目的を達成するための手段として、Cプログラミングをしている人たちに 勧めるには、ちとノイズが多すぎるなあ、と。 あ、上手い読み手ならば大丈夫かもしんないけど。

 あと、普段使いなれない訳語が出て来たりしてちょっとだけ戸惑って しまうかもしれません。名札、とか、解説文章、とかは、今訳されたものなら、 ラベル、とか、コメント、とか書かれるんだろうな、と思うのですが。 "算譜"とかの独特の用語がでてくる本に比べれば面食らうことは ないけれども、それでも古めのプログラム本特有の雰囲気がちょっとは あるかもしれない。

 第一版からすれば20年以上たってるわけで、その後にも良書は出てる でしょうし、これに代る本もあるかもしれないし、入門書とかでも作法に ついて触れられていることも多いと思うんで、あえてこれを読め、って いうほどでも無いような気もする……が、この手のことを、まとめて述べた 本はそうなさそうな気もするし、あったとしても、これに代えることが 出きるものかどうか……と、思うと、やはり、この本がいいのかな()。

ひょっとしたら「書法」「作法」を読んだことある、って言えばカッコがつくかも (って、誰に対してだか)。


現在では、言語として C/C++/java を据えてアップトゥデイトされた 『プログラミング作法』 が出ているので、今読む/買うなら断然こっちでしょう。



 とりあえず、巻末に、本文中に現れた規則を集めた規則集が巻末に が載っていたので下記にそれをかってに引用。
 実は、本文中に出てきた規則をまとめてやろうと、メモ打ち5つくらい した後に巻末にすでにまとまってることに気づいて、悔しいからそれ見て 打ちこんだだけ……てか、単に手で読んだときの残骸とも (しかし引用しすぎかなあ)。
 多少、本文見ずに規則だけみると、なんのことだろう、とか、 別のことと勘違いしそうなことがあるような気もするけど。 一般論の部分だけ抜き出したって、どうしようもないって面もありますが、 まあ、興味をもったり、とか、すでに経験からこれだけでも役立つとか いう人は、購入するのが吉ってことで。

規則集

 この規則集は、本書で述べたことの要点を手早く概観するためのものである。 これらの規則を読むときは、それらが一つ以上の実例をともなって 示されたものであった、ということを銘記してほしい。 もし規則を見て実例を思い出せなかったら、関係する部分に戻って、 読みなおしてほしい。
 参考書 The Elements of Style にある文句をもじっていうと、 プログラム書法の規則は、英作文の規則と同様、最良の作者によってさえ、 ときには破られることがあるものだ。 だが、規則がやぶられていたとしたら、プログラムの中にはその代償として、 何らかの利点が見出されるのが普通である。 たしかにこうしたほうがよいという確信がないかぎり、 規則を守っておくのがたぶん一番である。



1999

[back]