2012年2月22日 星期三

松本行弘的程式世界:成為一流程式設計師的14種思考術


這本書是Ruby的開發者Matz所寫得書。第一眼看到可能會覺得是Ruby的教學書,但其實這完全不是一本Ruby教學書。本書主要是以開發一個程式語言的角度來探討一些程式上的問題,作者並以Ruby的角度來講解如何解決這些問題並和其他程式語言做比較。比如說講到多重繼承,作者先探討多重繼承在C++和Java的設計上分別會有那些問題,最後再講解為什麽Ruby要使用Mix-in來實做多重繼承。

當然還有很多其他的內容,比如說探討Design Pattern,作者就用Ruby示範了一些Pattern的實做,有些Pattern改用Ruby這種動態語言來實做會變得非常直覺好懂。其他包含MVC, Unicode, Regular Expression, Floating Point......作者一開始都先簡單講解其他語言的設計方法,最後再說明為什麽Ruby要這樣設計,看完以後會覺得Ruby真的實做了很多新的東西,並且吸收了其他程式語言好得設計方式。

看這本書前其實不太需要先學會Ruby,作者在用Ruby寫範例Code的時候都會順便解釋Ruby的語法,像我本身並不會Ruby,但是大部分範例都可以看得懂。如果你是像我一樣對如何設計一個程式語言很有興趣的話,這本書是市面上少見在探討語言本身性質的書,非常值得一看!