ちえの和webページ
Brian W. Kernighan
1942 -
C言語のサポーター
カーニハンは1981年にWhy Pascal is Not My Favorite Programming Language という小論を書いてPASCALを批判した。パスカルは ニクラウス・ビルトが考案したALGOLをベースとするプログラミング言語で学校教育の中でかなり広く使われている。C言語の作成に深くかかわったカーニハンとしてはプログラミング言語に対する思い入れは人一倍で、それがパスカル批判につながったのだろう。
ブライアン・カーニハンは1964年にカナダのトロント大学を卒業した。専攻は工学物理だった。 そのあとアメリカに渡りプリンストン大学の大学院で電気工学を研究し、 1969年に博士号を取得している。その年すぐにAT&Tのベル研究所に就職がきまった。 当時のベル研究所は優秀な若者を引きつける場所で、全米から新進の研究者が集まっていた。 後にUNIXを作る ケン・トンプソンや デニス・リッチーはカーニハンより数年早くベル研究所に来ていてビッグプロジェクトMULTICSに参加していた。カーニハンはコンピュータの最適化問題を専門として、プログラミングの方法論なども彼の主要な関心の1つだった。カーニハンの入った1969年はちょうどケン・トンプソン等がUNIXの原型をPDP−7に移植している時期で、UNIXの揺籃期だった。カーニハンはまさに生まれつつある時期からUNIXとC言語に深くかかわることになったのだった。
1974年UNIXはアッセンブリー言語から高級言語Cに書き換えられた。 同じ年UNIXは正式に発表され一般に知られるようになった。 そして1978年にカーニハンとデニス・リッチーの共著になる「プログラミング言語C」 が出版された。この原作者による解説は広く読まれ1988年にでた第二版は十数カ国語に翻訳され、 いまだにバイブルとなっている。 カーニハンはこの他にもプログラミング周辺の論考を多く出版している。( 最後の参考文献を参照されたい)
彼の著作の内の1つ「ソフトウエア作法」から選んで、カーニハンのプログラミングに対する考えを聞いてみようと思う。
「第一の指針はもっとも大切である。それは単純さを保とうというものである。すべての水準においてできるだけすっきりした形を選び、与えられた仕事がかたづく限りにおいてもっとも単純明快になるように書け、というのである」
「第2の指針は、以上と関連している。それは段々に作れというものである。複雑な仕事は、管理しやすい小段階に分割して処理すべきである」
「第3の指針は、直観によく訴える。それは面倒なことは他人にやらせろというものである。毎回新規まきなおしではじめないで、自分または他人が前に作ったものを使って仕事をすべきだ」
「あまり早い時期に機能の結合をするのは間違いである。....機能は組み合わせがわかるまでそのままにしておけ、というのがそれである」
「プログラムの書き換えをする目的は、ほとんどの場合プログラムを簡単化し、理解しやすくし、その複雑さを管理可能な範囲内におさえこむ、というところにある。 複雑さの管理はプログラミングの神髄である。 われわれ人間は、頭の中で整理して行ける事項の個数――そもそも個数が問題なのだ――によって制約されるものである」
| 「プログラミング書法」 | ブライアン・W・カーニハン/P・J・プローガー著 木村泉訳 | 共立出版 | 1982年6月 | 3000円 |
|---|---|---|---|---|
| 「ソフトウエア作法」 | ブライアン・W・カーニハン/P・J・プローガー著 木村泉訳 | 共立出版 | 1981年5月 | 4500円 |
| 「プログラミング言語C 第2版」 | B・W・カーニハン/D・M・リッチー著 石田晴久訳 | 共立出版 | 1989年6月 | 2718円 |
| 「Life with UNIX」 | Don Libs & Sandy Ressler | アスキー出版局 | 1990年7月 | 3000円 |
| 「UNIX原典」 | AT&Tベル研究所編 | パーソナルメディア | 1986年11月 | 3605円 |
感想、ご意見など自由にご記入ください