《松本行弘的程式世界》推薦序
在流行的程式語言中,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語言,則可以讓你高屋建瓴的理解一些主流的程式語言。
程式設計師社群經常拿另外一個主流的物件導向指令碼語言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語言,則可以讓你高屋建瓴的理解一些主流的程式語言。
相關文章
- 《松本行弘的程式世界》中文版原作者序
- 《松本行弘的程式世界》精彩書摘
- 徵集與松本行弘訪談話題——走進松本行弘的程式世界
- 《松本行弘的程式世界》 - 不一樣的Ruby程式世界
- Matz的程式世界遊記--評《松本行弘的程式世界》
- 帶您走進松本行弘的程式世界
- 《松本行弘的程式世界》贈書活動通知
- 認識《松本行弘的程式世界》這本書
- 讀《松本行弘的程式世界》啟發頗多
- 《松本行弘的程式世界》樣章讀後感
- Ruby中的設計模式——《松本行弘的程式世界》設計模式
- 圖靈教育帶您走進松本行弘的程式世界圖靈
- 讀讀《松本行弘的程式世界》,儘管是Ruby語言
- 松本行弘:程式碼的未來
- 《松本行弘的程式世界》讀書筆記(上)——物件導向、程式塊、設計模式、ajax筆記物件設計模式
- 松本行弘:程式碼的未來(圖靈訪談)圖靈
- 《松本行弘的程式世界》讀書筆記(下)——文字編碼、整數、浮點小數筆記
- 來自松本行弘的技術剖析
- 松本行弘為什麼要開發Ruby
- Ruby之父松本行弘(Matz)評論《黑客與畫家》黑客
- [視訊]圖靈訪談系列之四:松本行弘談Ruby圖靈
- 松本行弘:我為什麼要開發新語言Streem(上)
- 《Web效能權威指南》推薦序Web
- 浪潮之巔作者吳軍推薦序——《推薦系統實踐》
- 帶你走程式序員的世界
- 《虛擬化與雲端計算》推薦序一薦
- css 屬性書寫順序推薦CSS
- 《軟體定義網路》推薦序
- [TEAP早期試讀]《敏捷武士》推薦序敏捷
- 未來這五年,軟體工程師如何安身立命? (下) ——Ruby之父松本行弘談《程式碼的未來》軟體工程工程師
- 未來這五年,軟體工程師如何安身立命? (上) ——Ruby之父松本行弘談《程式碼的未來》軟體工程工程師
- Transformer學習資源&順序推薦ORM
- 世界500強常用的管理方法和工具推薦
- Ruby之父松本行弘:自主性、決定權和屬於自己的思考(圖靈訪談)圖靈
- 推薦的程式設計網站程式設計網站
- 《ASP.NET AJAX 應用剖析立即上手》推薦序!ASP.NET
- 小程式推薦網址
- 今日推薦工具:世界銀行公開資料