ZERO BUGS シリコンバレープログラマの教えを読んだ。
タイトルと、その副題の高品質なコードを書くための物語というところですね。
エッセイ形式なので、全体を通して、物語を楽しむように読んでいきました。
わかる、あるある、なるほどなーというようなところが色々あり面白かったです。
「すべてのエラーは、あなたが最後にプログラムを変更した場所から3行以内にある」 by Joe Armstrong の引用。
ドナルド・クヌースの、ソースコードがドキュメントになるような文芸的プログラミング(literate programming)に対する考え方。
トランザクション処理のACID(Atomic, Consistency, Isolation, Durability)への言及。
人月の神話と、小さなチームならどんな方法論も上手くいくという話。これは、プログラマが習熟すれば、自分自身を実質的に管理できるようになるから。
Linuxカーネルのコードスタイルにある、それぞれの関数のすることは1つのことだけという姿勢。それとそのコードたちがPolymorphism、オブジェクト、関数型プログラミング、メッセージパッシングの全てをCで実現していること。
OpenBSD開発における、1箇所の修正に対して全体を見直すという、局所と全体の繰り返しのループ。
Erlangのモジュール同士のメッセージパッシングの形が、アラン・ケイがオブジェクト指向で表現したかったアイディアの理想形の1つであるという話。
などなど。
私の専門は品質/テストにあたる分野ですが、そのような立場の人も様々な領域を学ぶ必要があるのと同様、こういう話も知ってもらいたいですね。
1 Comment