易燃物匯聚 YouTube 有聲書與書評
JavaScript悟道 封面

JavaScript悟道

道格拉斯·克羅克福德

2640人在讀
24萬字總字數
¥45定價

有聲書與視頻解讀 YouTube視頻解讀 1

內容簡介

本書結合當前JavaScript語言現狀,深入剖析了JavaScript語言的運行原理、應該如何演進、怎樣才能將其發揮至極致。這些深邃、極具前瞻性的論述不僅適用於JavaScript,也適合其他語言。學習、理解、實踐大師的思想,能讓開發者站在巨人的肩上,看得更全面。

讀者書評

★★★★★

很喜歡讀這類脫離具體 api 談設計的書籍,讀完收穫還是挺大的。 本書並非乾巴巴的講解,各種類型都會追溯到最早的設計(背景)及所參考的標準。估計這也只有作者這種見證了這門語言誕生的老程序員才能寫出的內容 初讀過程,還是常常有「原來如此」的感覺,將產生此感覺的話題記錄如下: JS 這門語言爲什麼這麼設計 1. 變量名中沒有空格、存在保留字等的歷史原因是爲了給編譯器節省字節 2. Math對象,從Java處習得的糟粕。該對象中有三角函數(trigonometric function)和對數函數(logarithmic function),以及一些本該是運算符的函數 3. 幻真幻假借鑑自 C 語言着門類型不足的語言 4. ++ \ — 這兩個運算符都是早期設計出來用於操作指針的 5. 從例程(指令列表)講到函數的歷史 6. JavaScript的異常管理借鑑於Java,而Java的異常管理則借鑑於C++。C++是一門沒有現代化內存管理特性的語言,所以在程序執行出錯的時候,調用鏈中的每個函數都要自行顯式釋放自己分配的內存。JavaScript有一套成熟的內存管理機制,卻錯誤地引用了C++的內存模型含義; 對 JS語言依賴的標準進行了分析 1. 如數值:實現借用自IEEE 754標準,一種爲英特爾iAPX-432處理器設計的標準,設計很精妙,但是不夠簡潔 2. 字符串在本質上是16位無符號整數(0過65 535)的不可變數組 3. 閉包在Scheme語言中被首次使用,然後通過JavaScript成爲主流。JavaScript也因它而神奇 4. Date 曆法的設計 對 JS 語言中的部分特性進行了重新設計 - 生成器:重構後的生成器對流程的控制真的很贊 - 事件化編程 - 更純粹的Date 對 JS 語言中的各種類型的設計優缺點進行了分析 如 1. 數組未找到時,返回 -1,依舊是數值,導致錯誤可能不能很快發現;數組中很多方案本應純潔,單不夠純潔 2. 幻假布爾值 3. 如何讓 JS 變得更純 - 應當拋棄什麼,保留什麼 除此之外,也補全了一些知識點盲區 如 1. 活躍對象 - 閉包的底層機制; 2. 尾遞歸 - 複用活躍對象 - 當一個函數返回另一個函數的返回值時,我們就稱其是一個尾調用; 3. 本書作者是 JSON 的作者,講述了JSON 的設計歷史及初衷、其爲推廣 JSON 做的事情以及 JSON 爲什麼沒有版本; 4. 關於編譯的示例,很值得手寫一次; 再次回顧劃線內容,還是有很多東西值得更深入去理解(比如編譯相關示例),此書值得二刷。

★★★★★

衝着老爺子的名氣,匆匆翻完。作爲一個只是用Js寫過幾個玩具的小白,這書其實看不太懂,特別是許多技術細節。這本書是給技術紮實的技術人員寫的,通過大師的點撥,或許可以實現對技術理解的階段性跨越。而對於像我這樣的小白,更像是圍觀看熱鬧,聽大佬侃技術八卦。

★★★☆☆

既然是譯作,我只看到了譯者的自嗨。毫不顧及信與達,就是要雅!但雅裏又透着俗,這亦俗亦雅,亦黑亦白,儼然一隻斑點狗。我是結合着英文原版看的,譯者的自我演繹令人震驚,感覺就是踩着“老道”的腳,布着自己的道,借雞下蛋。每章開頭的名言、名句硬要用文言來譯,真正地成了微言大義,只是這文言語法堪憂。書中列舉的那些點贊、作序大神都堪稱當代阿炳,讓我很無語!就這樣吧!嚯!

★★★☆☆

這本書對大部分人來說起到的作用並不大,後半段更是傾向於如何在js的糟粕上建立一種新的編程語言。

★★★☆☆

我不知道這麼好一本書前面,放一堆不關癢痛的人,說些不三不四的話,想吹都不知道從哪吹起,到底是誰蹭了誰?

★★★★★

花了一個週末通讀了全書,於我而言,只有第2章講的浮點數、第12章函數中講的活躍對象及第18章講的尾調用優化讓我有一種學到東西的感覺,還有其他章節比如高精度整數、高精度浮點數、高精度有理數以及最後實現的Neo語言,我相信也是很有價值的,但對只花了兩天通讀的我,並沒有花時間去看這些代碼的細節。尤其是最後實現一門語言,對於想學編譯原理的同學,可以當作一次lab。另外,雖然是一本翻譯的書,但完全看不出是翻譯過來的,可見譯者的功底,不像有些翻譯書,讀起來總給人一種彆扭的感覺。

★★★☆☆

Douglas Crockford 是 Javascript 早期的佈道者,社區裏流傳了一些他關於創建 object 和原型鏈方面的經典代碼(讓 ECMAScript寫入下一版本的那種)。他在Javascript 的發展過程中扮演的角色並非主導者(就像張國榮不能撐起一臺戲,但黃曉明可以)。作者是一個很有小聰明的人,時不時撕掉別人的皇帝的新衣。由他發起的最牛一戰是他發現了 XML 的廢物性質。於是買下 json.org,爲 JSON 制定了標準,成爲ECMA404(也許是自選的惡趣味編號)和 ISO/IEC 21778。併爲 javascript 提供了 JSON.parse 和 JSON.stringify。Douglas Crockford 以前只是個前端程序員,雖然沒有參與制定標準(誤),但爲這門語言攻城略地。這本書就是作爲大師的作者寫個散文集讓你們觀摩的——如果 Douglas Crockford 不寫這本書的話,他會被腦子裏飄蕩的想法憋死。需要注意的是,不要企圖從本書獲得編程技巧上的提升,這本書純粹由作者本人的偏見(你可以認爲是建議)組成,有時候甚至他爲了文法說了反話而你不一定能注意。我對作者的所有想法大體上持贊成態度,從某些句子獲得啓發。 ps,作者其實還是 ECMA 委員會成員。

★★★★★

《JavaScript語言精粹(修訂版)》:愛上 JavaScript 的“好” 《JavaScript 悟道》:理解 JavaScript 的“差” 該書列舉了 JavaScript 不太合理的“特性”,並介紹瞭如何避免錯誤行爲。 同時推薦《JavaScript語言精粹(修訂版)》,瞭解 JavaScript 的優點。

★★★★★

太高深了,腦子要過載了,要把程序應用於人類世界,感覺是不可能百分百的純粹的

★★★★★

即便你寫的JavaScript 很爛,你也該知道爛在哪裏,如果你不知道,讀一讀這本書,你會找到答案!

書籍信息

作者道格拉斯·克羅克福德
譯者死月
出版社人民郵電出版社
出版時間2021-06-01
ISBN9787115565181
分類計算機-編程設計
格式EPUB
完結狀態連載中
章節數42