英語で読む「達人プログラマ#4」

4章「Pragmatic Paranoia」は書名と語呂を合わせながら、契約プログラミングなど、より凝ったな技法に入り込んでいく。

Bertrand Meyer developed the concept of Design by Contract for the language Eiffel. It is a simple yet powerful technique that focuses on documenting (and agreeing to) the rights and responsibilities of software modules to ensure program correctness.

Eiffelという言語で導入されたDbC(Design by Contract)の話。英語の辞書に加え、KindleのWikipedia検索も総動員で調べてみると、メジャーな言語ではPerl6が対応し、他の言語でも3rd partyでサポートしているというので、Pythonでも試してQiitaに書いてみた。

さて、達人プログラマに戻り、次の節「22. Dead Programs Tell No Lies」に目を通してみる。

And many times, crashing your program is the best thing you can do. The alternative may be to continue, writing corrupted data to some vital database or commanding the washing machine into its twentieth consecutive spin cycle.

プログラムをクラッシュさせるのは最善の方法だと言っている。そうでなければ、洗濯機を20回も回すコマンドを送るようなものだ。ひさしぶりに達人プログラマらしい突飛な比喩が出てきた。例外を握りつぶしてプログラムを走らせ続けるのではなく、そこでクラッシュさせるべき。

私は、どちらかというと少量のコードで何か新しいことができることを実証するプロトタイピング寄りのプログラマで、例外処理はそれほど詳しくないのだが、重厚なフレームワークなどを扱うプログラマは、どこで勉強しているのだろう。

いつも、ここを引用すれば前後も伝わるというポイントを見つけて引用してるのだけど、このあたりから引用に適した箇所を見つけるのが大変になってきた。残すとこ4章なので、最後まで読み切ろう。



この記事が気に入ったらサポートをしてみませんか?