
松本行弘
本書是Ruby 之父松本行弘的又一力作。作者對雲計算、大數據時代下的各種編程語言以及相關技術進行了剖析,並對編程語言的未來發展趨勢做出預測,內容涉及Go、VoltDB、node.js、CoffeeScript、Dart、MongoDB、摩爾定律、編程語言、多核、NoSQL 等當今備受關注的話題。本書面向各層次程序設計人員和編程愛好者,也可供相關技術人員參考。
被書名誤導,以爲是一本打開腦洞預測未來的書。其實不是,改名爲《代碼的歷史,現在和未來》更合適。 從歷史入手,講淵源,說道理,然後是各種場景和代碼示例,最後看看未來,若是若是靜下心來較真研究,必能有所獲益。 這本書深究起來是比較喫力的,編程語言層面,從lisp到,c,到go,到nodejs,當然最多的還是講Ruby。還有各種小算法,小原理的講解,對各種語言沒有一點涉獵根本看不下去。好在,對看不懂,或者不願深究的代碼直接跳過,也是沒有任何問題的。很多大段的代碼我都直接略過了,對不住作者辛辛苦苦寫這麼多… 2013年的編程書,放在2020年的今天來看,仍然不過時,到底是大神級別的人物。 唯一遺憾的是,對“未來”這件事,着墨有點少,倒是歷史講更多一些,但仍然無礙是本好書,期望能再次看見松本先生的大作
快速讀完這本書。整體感受是松本行弘老師應該是一個非常謙遜的老牌geek。 1.行文特別平和,沒有啥說道,沒有倚老賣老,反而各種“應該是吧”,讓讀着居然有點“這作者該不會是個萌新”的錯覺(可能和本文原來是雜誌連載合集的原因)。 2. 對除了Ruby之外的語言也抱有極大的興趣,比如作者很多篇幅講解了javascript(含nodejs及coffeescript)、go、lua、c、java、python(畢竟是講“代碼的未來”的)。 3. 對unix底層很熟悉(可能和Ruby本身的基因有關),作者說他受《unix編程藝術》影響很大。 4. 少不了自賣自誇,講了很多Ruby相關的框架和“日產”框架。 5. 成書似乎比較久,因此有些例子偏舊,有些預測也不對,不過理念核心不舊。 作者說自己發明Ruby的沒什麼具體動機,這和linus的just for fun有的一拼。
如是我聞:一時佛在極客園中,與千億程序員菩薩摩訶薩俱。爾時,世尊拈起鍵盤,示諸比丘言: ·法相章 如來說代碼,即非代碼,是名代碼。何以故?一切有爲法,如電如露,如COBOL沒於沙塵,如Delphi隱於虛空。 昔有古語言三聖:FORTRAN執數算之印,COBOL掌商道之符,LISP明遞歸妙義。今觀Golang攜雲雷之勢,Haskell顯函式真如,Erlang現並法蓮華。 舊語衰微非業障,乃無常流轉相。如江河入海,舊水不腐,新流不息。屎山雖高,可作沃土;斷層雖險,能生天梯。 ·器用章 須菩提,於意云何?GC算法可爲第一否? 不也,世尊。標記清掃如拂塵,分代回收似春耕,引用計數若珠算。算法本空,因緣而生:內存不足時,方顯慈悲;吞吐困頓時,乃見智慧。 閉包非閉包,是名閉包。對象非對象,是名對象。閉包納數據如芥子藏須彌,對象載過程似寶瓶盛甘露。DSL語言,或顯或密:SQL作經幢,正則化符咒,JSON結法印。 ·並行章 佛告阿難:多核世界,汝當如何? 流水線似百衲衣,超線程如千面鏡,異構核若萬佛殿。任務分割,如拆檀香;通信開銷,似隔重山;可靠性危,若護燈焰。 千手千眼觀自在:Go攜協程渡苦海,Erlang布進程化劫波,Rust執所有權斬業障。鐘擺搖於雲兩端,CAP定理懸日月,BASE法門開方便。 ·未來章 佛說新陳代謝法,即非代謝法,是名代謝法。 減負者,棄冗餘如棄腐葉;拖延者,待機緣似待花開;委託者,傳法脈如傳薪火。空間換時間,如築七級浮屠;時間換空間,似種三世因果。 未來語言,不在形而在神:Haskell顯純函妙相,Rust證內存菩提,量子編程演色空不二。雲中數據如恆河沙數,NoSQL開八萬四千法藏。 ·究竟章 一切賢聖,皆以重構法得度。 屎山非山,是名屎山;斷層非層,是名斷層。若見屎山即見真金,若度斷層即登彼岸。 如筏喻者,法尚應舍,何況非法?Delphi之舟當棄,Python之筏當修,Go之寶筏當造。 代碼三昧,不在新亦不在舊,在唸念生滅間。過去心不可得,現在心不可得,未來心不可得。 佛說是經已,諸程序員天人、架構師羅漢、產品經理菩薩,一切世間衆生,皆大歡喜,信受奉行。 > 本書以「極限思考法」破技術我執,借「抽象黑箱」顯法無定法,更以「GC隱喻」喻緣起性空。作者松本行者,不以Ruby爲究竟,反勸衆生:「莫作未來囚徒,當爲未來匠人」。周自恆譯筆如金剛琢,破中日文字障,令漢地得聞東瀛妙法。
松本行泓這本書我在十幾年前就想讀。彼時的我甚至還去面試了一家使用 Ruby 的創業公司。沒想到讀完居然是十幾年後了。 書中以一個高高手的姿態評點了當時比較熱門的語言,介紹了自己設計 Ruby 時候的思考和品味判斷。書中也討論了雲的出現、算力的增長、分佈式的嚴謹對技術的影響。高屋建瓴的視角讓大部分知識即便放到今天還是不過氣。 時光冉冉,物是人非,Ruby 還是侷限在 Web 領域,Python 則靠 AI 打了翻身仗。NoSQL 也是進入了穩態,GPU 佔領了計算模式高低,Dart 已經完蛋了,笑。 真希望松本行泓能再出一本新的點評書。
雖然書中很多例子是用c或者ruby來說的,但是主要的編程思想是一樣的。再一個,這書應該成書於十年前,站在當時的角度來預測未來,現在十年後再回過頭來看看,很多東西或多或少預言到。惟一一個,作者覺得coffee script會大熱,然而現在已經停更了。這主要是coffee script的作者發明他的初衷是爲了填js的坑的,然而隨着es6的發佈,js的坑該填的都填的差不多了,而且填坑的思想和coffee script大體一致,換個角度來說,作者看的也算挺準的。
八年前的書呀,爲什麼我現在纔讀,在早幾年前讀到此書,就好了… 書裏介紹的知識面太廣了! 果然只剩下膜拜了嗎。
先來說說優點: 作者寫文章的思路很有意思,也很有借鑑意義。首先從技術發展過程中遇到的問題出發,如多核 CPU 性能是存在理論上限的,然後結合具體的框架或技術方案剖析目前的可選解決方案有哪些,如何根據現實場景進行取捨。 現在是“多核時代”!多核不是傳統意義上是單個 CPU 多個核心,在大多數情況下指的都是多塊芯片的多個核心,如何讓我們的應用系統充分利用同一集羣多個節點上的多個 CPU、GPU 是一項極有挑戰性的任務。 作者是 Ruby 的發明者,在編程領域的造詣還是比較深的,所以這本書裏的極大多數觀點都很有借鑑意義,值得反覆推敲和學習。 再來說說“缺點”: 雖然部分章節有 C 語言示例代碼,但是大多數章節還是圍繞 Ruby 來的,所以對於沒有接觸過 Ruby 的讀者來說不太友好(有點王婆賣瓜的感覺)。
作爲書來說,如果不是頂着Ruby的名氣,可讀性很一般,有點像大雜膾,系統性缺失,如果能重點講講Ruby編程語言本身的出現、發展、優缺點,其實就足夠了
這是一本影響深刻的書,作者在計算機方面的理解深度和廣度很厲害,幾年前讀的時候沒有讀太懂,找機會再讀一遍
深入淺出,非常好的學習系統設計的書。以及作者的預言實現了