#2017_10_2 18:13
每日閱讀
寫給程序猿的范疇論
The preface
作者一直致力于為程序猿(而不是科學(xué)家)寫一本范疇論的書奕翔。他非辰淀铮渴望向別人去解釋范疇論這門學(xué)科。雖然他沒有Richard Feynman能夠用簡潔的語言去闡釋拴疤,但是他會(huì)盡他所能去闡釋清楚。
我會(huì)努力用簡潔的語言去表達(dá),使得你確信這本書是為你而寫的治力。(范疇學(xué)作為數(shù)學(xué)中最為抽象的分支,但其實(shí)并沒有那么難)勃黍。具體原因如下:
首先宵统,范疇論是非常有用的編程思想寶藏。Haskell 程序猿們已經(jīng)接觸該理論很久了覆获,其中的一些思想正在滲入其他語言马澈,只是這一過程是非常緩慢而已,我們需要使之加速弄息。
其次痊班,數(shù)學(xué)學(xué)科有很多分支,它們面向于不同的受眾摹量。但范疇學(xué)的思維方式與程序猿如出一轍涤伐。這是因?yàn)榉懂爩W(xué)處理的是結(jié)構(gòu),而不是細(xì)節(jié)缨称。具體來說凝果,處理的是讓程序具有復(fù)合(組合)關(guān)系的結(jié)構(gòu)。
復(fù)合關(guān)系是范疇論的精髓睦尽,它也是范疇論自身定義的一部分器净。我會(huì)證明編程的本質(zhì)是『復(fù)合』。我們一直都在組合一些東西当凡,這種行為從很久以前一群偉大的工程師提出子程序的時(shí)代就開始了山害。很久以前纠俭,結(jié)構(gòu)化編程(面向過程)原理掀起了編程的革命,它立足于代碼級(jí)別的復(fù)合浪慌。伴隨面向?qū)ο缶幊?/b>而來的則是對(duì)象的復(fù)合柑晒。函數(shù)式編程不僅僅設(shè)計(jì)函數(shù)的復(fù)合與代數(shù)數(shù)據(jù)結(jié)構(gòu),它還提供了對(duì)并發(fā)計(jì)算的支持眷射,這是其他編程范式難以實(shí)現(xiàn)的匙赞。
第三,我有秘密武器妖碉,一把庖丁之刀涌庭,我要用它將數(shù)學(xué)大卸八塊使之成為程序猿的美味佳肴。如果你是數(shù)學(xué)家欧宜,你不得不大膽假設(shè)坐榆,小心求證,嚴(yán)格的構(gòu)造你的定理冗茸,然后產(chǎn)生令外人難以卒讀的論文與專著席镀。我是訓(xùn)練有素的物理學(xué)家,在物理學(xué)中夏漱,我們使用著并不正規(guī)的推理來取得令人激動(dòng)的發(fā)現(xiàn)豪诲。數(shù)學(xué)家們嘲笑偉大的物理學(xué)家 P. A. M. Dirac 為求解一些微分方程而提出的狄拉克 δ 函數(shù),但是當(dāng)他們發(fā)現(xiàn)了一個(gè)叫做廣義函數(shù)論的新的數(shù)學(xué)分支時(shí)挂绰,他們就不笑了屎篱,因?yàn)閺V義函數(shù)論只是對(duì) Dirac 觀點(diǎn)的一種形式化描述。
當(dāng)然葵蒂,采用不嚴(yán)肅的論證方式很容易產(chǎn)生謬論交播。因此在這本書中凡是遇到不正式的論證時(shí)我會(huì)盡力確定其背后存在著相應(yīng)的實(shí)際數(shù)學(xué)理論。我床頭有一本被我翻的破破爛爛的 Saunders Mac Lane 寫的《Category Theory for the Working Mathematician》践付。