濃縮還元オレンジニュース
Aaron Swartz氏「みんなそろそろD.J. Bernsteinが世界史上最高のプログラマだというのを思い出すべき」
現在23歳のハッカー,Aaron Swartz氏によるブログ記事の翻訳です。記事では,現在は大学教授であるDaniel J. Bernstein氏について惜しみない賞賛が綴つづられています。Bernstein氏はdjbという愛称で知られ,MTA(メール転送エージェント)のqmailやDNSキャッシュサーバ/コンテンツサーバのdjbdnsを作った人と言えばわかる人もいるでしょう。
1997年公開のqmailや2001年公開のdjbdnsは,インターネットの重要な役割を担うソフトウェアであり,世界中の至るところで利用されてきました。その事実だけでも十分にすばらしいのに,リリースしてから今日までの長い間,ほとんどバグが発見されていません。djbdnsにいたっては,2009年2月にDNSキャッシュポイズニングの脆弱性が発見されるまで,1つのセキュリティホールも報告されていませんでした。
このように功績だけでも十分にすばらしいのですが,Swartz氏は「もっと重要なのはプログラムそのものである」と述べています。Bernstein氏の書いたコードは芸術品のように美しく,しかも見た目だけでなくコードの働きや処理内容に至るまで完璧であり,「言語」「数学」「芸術」「デザイン」「機能」それぞれの美を兼ね備えているとベタぼめしています。Swartz氏は,「djbのコードを読むまで,ソフトウェアにおける優れた芸術がどういうものかわからなかったが,今ではほかのどんなコードを読んでもくすんでるように感じてしまう」と締めくくっています。優れたコードのお手本として,Bernstein氏の作品を今一度見直してみる必要がありそうです。
ちなみにqmailとdjbdnsのコードを調べてみたところ,1関数あたりのコードがどれも小さく,1ファイル当たりの行数は8割以上が200行以下でした。
なお,Bernstein氏は現在,DNSのセキュリティに関する拡張仕様である「DNSSEC」の問題点を指摘し,代替案である「DNScurve」というプロジェクトに取り組んでいます。
濃縮還元オレンジニュース
- Column 調べてみると案外シンプル
- Gerald M. Weinberg氏,胸腺癌で余命わずか
- バグを受け入れてもらうにはどうすればよいか
- Aaron Swartz氏「みんなそろそろD.J. Bernsteinが世界史上最高のプログラマだというのを思い出すべき」
- JavaでLL風な開発を実現するWebフレームワーク「Play Framework」
- My SQLのエンジンはInnoDBとInnoDBのどちらを使うべきか?
- 米Yahoo!,社内で使われているWebプロキシキャッシュ「Traffic Server」をオープンソース化
- Google,JavaScriptプログラミングツール群「Closure Tools」をリリース

