« それは努力じゃない | トップページ | Web 2.0との上手な付き合い方 »

なぜ美しいコードを書くのか

なぜ美しいコードを書くのか。
それは、プログラムは人に読ませるものだからです。

この考えを、一度ギークな人々にぶつけてみたかったんですよね。

だいたい、プログラムはコンパイラ(またはインタプリタ)を通して実行するのですから、読ませるのは人じゃなくて機械なんですよ。だったら、コンパイラが理解できる正しい文法で書けば、人間様が理解しにくいようなコードでも良いじゃないかって思いますよね。

でも、私が仕事でプログラミングをしていくうちに一番強く思うようになったことはコレなんです。人の頭で理解できないようなプログラムが、コンピュータの上で正しく動くなんて思えません。人の頭で覚えきれないような長い関数は、分割すべきなんです。可読性の高さ(シンプルであること)こそコードの美しさであり、プログラム上での個性なんて一切捨てて、誰もが理解しやすいプログラムを書くよう常に意識しています。

最近ではペアプログラミングなんてのもあるじゃないですか。ペアプロの効果の一つにも、美しいコードを書くよう意識するためって言われますが、これまさに人に読ませるためだと思うんです。常時見張り合っていることはサボリ防止かもしれませんが、結局はコードを人に見せることの効果が大きいと私は思っているのです。

ただ、この考えっていわゆるギークな人々にはどう思われるのかずっと疑問に思っていました。私なんて(仕事では)汎用機上で動くCOBOLをせっせと書くだけのプログラマでしたからね。バグを絶対に出さないことと、開発の効率化と、メンテのしやすさが三大顧客条件なわけですよ。そんな下地だからこそ辿り着いた一つの結論ですが、例えばWeb開発をやっている人はどんなことを心がけてやっているのかとか、特に最先端でやっている人が考えていることにはものすごく興味があるんです。

良かったらお話聞かせてください!


関連記事とお返事の淡い期待を抱いて下記の記事にトラックバック。

  • プログラマの美意識 - 304 Not Modified
  • 美しいプログラムの美しくないソース - 404 Blog Not Found
  • そして、ペア・プログラミングが始まる - 小野和俊のブログ
  • ペアプログラミングの効用 - My Life Between Silicon Valley and Japan

    はてなブックマークに追加
    はてなブックマークのコメントを参照

  • |

    « それは努力じゃない | トップページ | Web 2.0との上手な付き合い方 »

    コメント

    その通りだと思います。
    計算機科学の教科書として名高いSICP (『計算機プログラムの構造と解釈』)の前書きに、よくまとまった一文があります。
    "It [computer language] is a novel formal medium for expressing ideas about methodology. Thus,programs must be written for people to read, and only incidentally for machines to execute."
    (それ[計算機言語]は、方法についてのアイディアを表現する、新しくそして正式な媒体である。従ってプログラムは人々が読むために書かれるべきであり、それがたまたま機械でも実行可能であるにすぎない)
    http://mitpress.mit.edu/sicp/full-text/book/book-Z-H-7.html

    投稿: shiro | 2008.02.06 14:20

    ダイクストラの「構造化プログラミング」は、よく「gotoつかうな」と誤解されるのですが、実はそういう話だったりします。

    http://www2.cc.niigata-u.ac.jp/~takeuchi/tbasic/Intro2Basic/Structure.html

    投稿: minekoa | 2008.02.06 17:26

    >shiroさん
    ありがとうございます。そんな素晴らしい本にも書いてあるようなことなんですね!自信が出てきました!

    >minekoaさん
    そうなんですよね。gotoを使わないようにするのは人が混乱しないようになんだと思います。構造化プログラミングばかりやってるのですごくわかりますよー><

    投稿: まなめ | 2008.02.07 02:16

    コメントを書く



    (ウェブ上には掲載しません)




    トラックバック

    この記事のトラックバックURL:
    http://app.cocolog-nifty.com/t/trackback/1573/40012553

    この記事へのトラックバック一覧です: なぜ美しいコードを書くのか:

    » 美しいコードにこだわる人は [ふぃふmemo]
    304 Not Modified: なぜ美しいコードを書くのか 将来の自分を含めた「他人」に読みやすいコードにすれば保守しやすい、というのは良く聞く話でそれ自体は賛成なんですけど。 世の... [続きを読む]

    受信: 2008.02.07 21:10

    » [記事より] [ ( ・ω・)ノ<しすてむ開発。]
    なぜ美しいコードを書くのか http://maname.txt-nifty.com/blog/2008/02/for_human.html を見たら改めて考えてみた。 ボクはソースを作りたいので、 考える時間を出来る限り確保したい欲がある。 一度作ったソースは作り終えていたり、修正中など変更対象であると思っている... [続きを読む]

    受信: 2008.02.08 14:22

    « それは努力じゃない | トップページ | Web 2.0との上手な付き合い方 »