ありゃ。流れ弾:)
きれいなソースコードを書くために必要な、たったひとつの単純な事 - よくわかりませんなお、一般的な「きれいな」ソースコードの最重要事項として正しい名前を挙げたけど、もう一段上の「美しい」コードについてはハッカー達の濃い思いをじっくり味わうのもよいかも知れない。「きれいな」と「美しい」の違いとかは、danさんが書いてくれる事を期待。
名前に関しては別entryをあてることにして、「美しい」について書くことにする。
ここ20年ほどで、じわじわと強くなり、特にblogを書き始めてから強くなっているのが、これ。
かっこつけろ
これだけ、たったこれだけ意識すれば、どんどん「仕事」が出来るようになる。「仕事」いっても「賃金労働」だけじゃない。中国語で言うところの「工作」。やることなすこと、すべて。
そしてこれ、「美しく」でなくて「かっこよく」の方がいいのだ。そのためには「美しい」と「かっこいい」の違いについて考える必要がある。
まず共通点。どちらも言葉で説明するのは難しいのに、見て聴いて嗅いで味わって触れた途端、そうなのかいなかが「わかってしまう」。だから「美しい」と「かっこいい」は類義語として扱われがちだ。それでも、少し注意を払えば「かっこよくないけど美しい」ものごとや、「美しくなくてもかっこいい」ものごとが確かにある。そして前者は少数だけど、後者は圧倒的多数であることも。
「美しい」(beautiful)と「かっこいい」(cool)の違いって、何だろうか。
私は、それを「背景」と「動き」に見いだしている。
美しいものごとというのは、それだけ(text)を取り出してもかなりの程度成立する。美男美女は、肖像だけで美しいからそう呼ばれる。それに対して、かっこいいものごとというのは、環境(context)があってはじめて成立する。そこでは美男美女も簡単に三枚目になるし、「そうでないひともそれなりに」な人でも簡単に二枚目になれたりする。
プログラミングにおいてもこれは同様で、「かっこいい」プログラミングにおいて「美しい」ソースを書く必要は必ずしもない。
はてなブックマーク - どうしてプログラマに・・・プログラムが書けないのか?perl -le 'print $_%15?$_%5?$_%3?$_:Fizz:Buzz:FizzBuzz for(1..100)'
この一行野郎が「美しい」かといえば、Yesとは言いがたい。しかしあの日あの時日あの場所で、これをさっと書くことは「かっこいい」にはなるのではないか。FizzBuzzというのは、「美しく」書くための余地があまりに少ないが、それゆえに「かっこよく」書くための余地がいくらでもあった。そういう例は、プログラミングに限らず日々いくらでもある。
もう一つ重要なのは、「かっこよさ」は「動き」だということ。「美しい」は前述の通り「静物」でも成り立つが、「かっこいい」は「生物」でなければなりたたない属性だということ。これまたより難しく見えて、より簡単に行える。なにしろ、時間軸を味方につけられるのだ。
最近の事例だと、やはりこれだろうか。
Susan Boyleを美女という人は(おそらく本人も含めて!)あまりいないだろうが、美声であることは否定しがたいし、そしてかっこいいことはさらに否定しがたい。そしてそのことは、静止画像では絶対にわからない。
そう。かっこいいというのは、動くということだ。
使えないより使える方がかっこいい。使えるだけよりも作れる方がかっこいい。後に作るよりも先に作る方がかっこいい。
PHPで美しいプログラムを書くのは難しい。少なくとも私には不可能だ。しかしかっこいいプログラミングなら、いくらでも出来そうだし。そしてそれが出来たからこそ普及したのだろう。かっこわるいところを放置するのがかっこわるいということに気がついてくれればもっとかっこいいとは思うのだけど。
「美しい」は、誰でもなれるわけではないようだ。でも、「かっこいい」であれば誰でもなれるし、誰でも出来るのではないか。
Dan the "Cool Guy"
前園、かっこいい
こうですね、わかります