『ビューティフルコード』
ビューティフルコード (THEORY/IN/PRACTICE)
- 作者: Brian Kernighan,Jon Bentley,まつもとゆきひろ,Andy Oram,Greg Wilson,久野禎子,久野靖
- 出版社/メーカー: オライリージャパン
- 発売日: 2008/04/23
- メディア: 大型本
- 購入: 30人 クリック: 617回
- この商品を含むブログ (190件) を見る
- 4/18 Amazonからおすすめのメールがくる。
- 4/20 注文する。
- 4/25 Amazonから在庫がないというメールがくる。
- 4/29 Amazonの注文をキャンセルする。
- 4/29 紀伊国屋で注文する。
- 5/2 届く。
今年のゴールデンウィークはこれで退屈せずに済む。
29章の『エッセイのごときプログラム』はなかなか興味深い。特にRakefileの文法の話の中で、文法を既存のRubyにあわせる『シンプルさ』を追求するよりも、『人間の書くプログラムのシンプルさ』を選んだとあった。
(a)
task({:default => [:test]}) task(:test, lambda(){ ruby "test/unittest.rb" })
こう書くよりも
(b)
task :default => [:test] task :test do ruby "test/unittest.rb" end
こう書く方がより人間が書くコードとしてはシンプルになるということだ。
(b)の方がシンプルであるというより、(b)の方が『自然な表現』であると思った。
本の中でrakeのRakefileをDSL(Domain Specific Language)と言っていたが、DSLというのは、特定の目的のために最適化された言語という意味で、これはその目的にあった表現の『自然さ』の追求なのではないかと思う。