內容簡介
本書從七個方面介紹了計算機程序的數學基礎和原理,並以「同構」概念為線索揭示出編程本質上是和數學同構的。這七個方面分別是:數字、遞歸、對稱、範疇、融合、無窮、悖論。第1章「數字」介紹皮亞諾算術公理系統。通過5條公理,構築了計算機程序大廈的基石。通過單向鏈表,斐波那契數列等例子,展示了和自然數同構的計算結構。第2章介紹遞歸。通過歐幾里得演算法作為開端,把遞歸的數學原理構建在Lambda演算和Y組合子之上。第3章通過對稱介紹群、環、域等抽象代數結構,並解釋伽羅瓦理論這一抽象思維的明珠。第4章介紹範疇論。把列表、異常、多態、類型系統、複合數據結構等眾多編程概念構築在範疇論的基礎上。第5章介紹融合律。它是進行演算法推導和優化的有力工具。第6章介紹無窮。給出了康托爾的無窮集合論和超限數概念,介紹了編程中流的概念和無窮的關係。第7章以羅素悖論、可計算性和哥德爾不完全性定理結束本書。介紹了計算能力的邊界和對編程基礎哲學的影響。作者簡介
劉新宇,亞馬遜中國研發中心研發經理,負責分散式倉儲物流系統的開發。1999年和2002年在清華大學自動化系分別獲得學士和碩士學位。長期專註于函數式基礎演算法,著有《演算法新解》一書(2017年出版)。目錄
第1章 數字