『Beautiful Code (ビューティフルコード)』 Andy Oram, Greg Wilson 編を読んだ。
残念ながら、管理人の知識では読みこなせなかった。「美しいコード」という言葉はよく聞いていたが、一流のプログラマーたちの考える美しさが多様なのに驚いた。無駄を省いたコンパクトなコードを美しいとい人もあるし、コードは少々長くなっても実行速度の速いコードを紹介する人もあるかと思えば、読みやすさこそが美しさだと主張する人もあり、また、大規模なソフトウェアが高信頼性で動くのを美しいと感じる人もある。 しかし、それらの主張には共通するものがあるように感じられた。つまり、コードの美しさとはコードの簡潔さや単なる読みやすさによるものではなく、問題を「あざやかに」解決するやり方に対して感じられるものであるということだ。Rubyのイテレータは、見た目の読みやすさを提供するので美しいのではなく、オブジェクトの要素をひとつずつ取り出してブロックに渡すという概念が巧妙なのだ。 この本の冒頭ではカーニハンによる記事があり、ロブの作った基本的な正規表現の処理プログラムを行う30行のCプログラムが紹介してあった。たった30行のCプログラムで、冒頭マッチ、末尾マッチ、繰り返しのある正規表現のマッチを実行できてしまうが、このプログラムがこのような芸当をすることができるのは、ポインタと再帰呼び出しを巧妙に組み合わせてあるからだ。 ところで、正規表現のオートマトンもCのポインタも再帰呼び出しも実はアルゴリズムだ。美しいコードの秘密はアルゴリズムやその組み合わせのやり方のスマートさにあったのだ。
by tnomura9
| 2008-11-16 22:05
| Ruby
|
Comments(0)
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||