#2017_10_2 18:13
每日閱讀
寫給程序猿的范疇論
The preface
作者一直致力于為程序猿(而不是科學家)寫一本范疇論的書。他非常渴望向別人去解釋范疇論這門學科。雖然他沒有Richard Feynman能夠用簡潔的語言去闡釋,但是他會盡他所能去闡釋清楚。
我會努力用簡潔的語言去表達,使得你確信這本書是為你而寫的。(范疇學作為數學中最為抽象的分支,但其實并沒有那么難)。具體原因如下:
首先,范疇論是非常有用的編程思想寶藏。Haskell 程序猿們已經接觸該理論很久了,其中的一些思想正在滲入其他語言,只是這一過程是非常緩慢而已,我們需要使之加速。
其次,數學學科有很多分支,它們面向于不同的受眾。但范疇學的思維方式與程序猿如出一轍。這是因為范疇學處理的是結構,而不是細節。具體來說,處理的是讓程序具有復合(組合)關系的結構。
復合關系是范疇論的精髓,它也是范疇論自身定義的一部分。我會證明編程的本質是『復合』。我們一直都在組合一些東西,這種行為從很久以前一群偉大的工程師提出子程序的時代就開始了。很久以前,結構化編程(面向過程)原理掀起了編程的革命,它立足于代碼級別的復合。伴隨面向對象編程而來的則是對象的復合。函數式編程不僅僅設計函數的復合與代數數據結構,它還提供了對并發計算的支持,這是其他編程范式難以實現的。
第三,我有秘密武器,一把庖丁之刀,我要用它將數學大卸八塊使之成為程序猿的美味佳肴。如果你是數學家,你不得不大膽假設,小心求證,嚴格的構造你的定理,然后產生令外人難以卒讀的論文與專著。我是訓練有素的物理學家,在物理學中,我們使用著并不正規的推理來取得令人激動的發現。數學家們嘲笑偉大的物理學家 P. A. M. Dirac 為求解一些微分方程而提出的狄拉克 δ 函數,但是當他們發現了一個叫做廣義函數論的新的數學分支時,他們就不笑了,因為廣義函數論只是對 Dirac 觀點的一種形式化描述。
當然,采用不嚴肅的論證方式很容易產生謬論。因此在這本書中凡是遇到不正式的論證時我會盡力確定其背后存在著相應的實際數學理論。我床頭有一本被我翻的破破爛爛的 Saunders Mac Lane 寫的《Category Theory for the Working Mathematician》。