《松本行弘的程式世界》推薦序

robbin發表於2011-07-21
在流行的程式語言中,ruby是一個比較另類的存在,這是因為大多數程式語言的首要著眼點在於為解決特定的問題領域而設計語言,而ruby的首要著眼點在於"人性化",讓程式設計師充分享受程式設計的樂趣。我因為組織國內的Ruby會議的緣故,曾經兩次邀請松本行弘來中國,他本人是一個性格平和,對生活充滿熱愛的人,在演講中他也一再傳遞"code for fun"的宗旨:即程式語言不應該是冷冰冰的給機器閱讀和執行的指令,而應該是讓程式設計師程式設計的工作過程變成一種充滿樂趣和享受的過程。而且松本先生髮明ruby語言也是因為對他創造一種人性化的物件導向指令碼語言的熱愛。

程式設計師社群經常拿另外一個主流的物件導向指令碼語言Python和ruby來做對比。從全球範圍來看,Python的社群更大,應用更廣泛,但ruby的語法相對Python來說更強大和寬鬆,給程式設計師發揮的自由度更大,可以基於ruby建立各個領域的DSL,比方說ruby on rails就是一個基於ruby的web快速開發領域的DSL。

總之,ruby語言這種"人性化"和給程式設計師很大程式設計自由度的氣質也奠定了整個ruby社群的氣質:熱愛生活的程式設計師,追求程式設計的自由度,帶點非主流的極客色彩。也正因為如此,ruby和基於ruby的rails得到了矽谷許許多多創業公司的青睞,有名者如Twitter,Groupon,Hulu,github都是用Rails的公司。而這種氣質也很鮮明的體現在Rails框架的建立者David Heinemeier Hansson和他所在的37signals公司身上。37signals的20多位員工遍佈全球,每週只上班四天,David Heinemeier Hansson本人同時還是一個保時捷車隊的職業賽車手。


當然,ruby並非只在非主流程式設計師社群中流行,隨著全球IT產業向雲端計算時代的發展,ruby也發揮著越來越大的作用。著名的SAAS廠商salesforce在2010年底以2.1億美元收購了PAAS廠商Heroku,並且在2011年7月聘請松本行弘擔任Heroku首席架構師,開拓ruby在雲端計算領域的應用。Heroku本身就是一個完全用ruby架構的PAAS平臺,同樣支援ruby的PAAS廠商還有EngineYard,以及VMware等,隨著這些雲端計算廠商的努力,ruby必然在未來得到越來越廣泛的應用。

回到本書,我之前閱讀了本書的部分章節,這本書實際上是松本行弘從一個程式語言設計者的角度去看待各種各樣的流行程式語言,他們有哪些特點,以及Ruby程式語言是如何取捨的。ruby程式語言的設計本身大量的參考了一個更古老而著名的物件導向程式設計的開山之作Smalltalk,以及向函數語言程式設計語言鼻祖LISP偷師了不少好東西。程式設計師社群有個著名的說法:任何現代程式語言都脫胎於Smalltalk和LISP,都可以從這兩個程式語言身上找到似曾相識的特性,自Smalltalk和LISP誕生以來,程式語言領域已經大勢已定了。因此集這兩種程式語言很多特點於一身的ruby語言很值得程式設計愛好者去學習,而看看ruby設計師是怎麼設計ruby語言,則可以讓你高屋建瓴的理解一些主流的程式語言。

相關文章