
劉新宇
本書從七個方面介紹了計算機程序的數學基礎和原理,並以“同構”概念爲線索揭示出編程本質上是和數學同構的。這七個方面分別是:數字、遞歸、對稱、範疇、融合、無窮、悖論。第1章“數字”介紹皮亞諾算術公理系統。通過5條公理,構築了計算機程序大廈的基石。通過單向鏈表,斐波那契數列等例子,展示了和自然數同構的計算結構。第2章介紹遞歸。通過歐幾里得算法作爲開端,把遞歸的數學原理構建在Lambda演算和Y組合子之上。第3章通過對稱介紹羣、環、域等抽象代數結構,並解釋伽羅瓦理論這一抽象思維的明珠。第4章介紹範疇論。把列表、異常、多態、類型系統、複合數據結構等衆多編程概念構築在範疇論的基礎上。第5章介紹融合律。它是進行算法推導和優化的有力工具。第6章介紹無窮。給出了康托爾的無窮集合論和超限數概念,介紹了編程中流的概念和無窮的關係。第7章以羅素悖論、可計算性和哥德爾不完全性定理結束本書。介紹了計算能力的邊界和對編程基礎哲學的影響。
最近在學習haskell,這本書對理解haskell,lisp背後的東西很有幫助
主要衝着lamda 演算和範疇論這部分來的, 因爲相關中文資料確實太少。 有點收穫,但不多。
循循善誘,深入淺出,內容也是非常合理,非常有價值👍
數學不像數學,計算機不像計算機,筆記不像筆記,教材不像教材,專著不像專著。
不適合任何讀者閱讀 晦澀的部分像看數學課本,但還不如看數學課本,至少數學課本使用概念循序漸進,而非稀里嘩啦扔出一堆又不講明動機,這更像是作者寫給自己看的數學學習筆記 最後看完也沒體現出什麼數學和編程的深入思考,淨科普了,作爲科普也很失敗
看到時想着以前要是早發現這本書書也不用費勁找七零八碎的資料了,翻過扉頁纔看到纔剛出。我恨君生遲~
略失望。衝着編程兩個字來的,但是實際上沒有對編程有什麼特別的思維上的提升,基本是講了數學再講講編程實現。如果只看數學的科普還是不錯的。