日历

September 2020
M T W T F S S
 123456
78910111213
14151617181920
21222324252627
282930  

Reply To: 范畴论讲什么?

Home Forums 《冒号课堂》讨论区 范畴论讲什么? Reply To: 范畴论讲什么?

#1245
hui
Keymaster

范畴理论是数学中抽象代数(abstract algebra)的一个分支,主要是以最抽象的方式研究数学结构以及它们之间的关系。 每个范畴(category)包括一组对象(object),一组态射(morphism),以及态射之间的合成。 对应于程序中的类型系统,这组对象可以看成某个数据类型所涵盖的所有对象,而态射则可以看成函数,态射合成对应于函数合成。在函数式语言Haskell中,这种对应更加清晰,而且Haskell中的functor和monad都直接来源于范畴理论中对应的概念。

更详细的可以参考:

http://en.wikipedia.org/wiki/Category_theory

http://en.wikibooks.org/wiki/Haskell/Category_theory

从这里也看出,高级的数学知识对从更抽象和更高层的角度来理解编程是有意义的。但不是所有的人都习惯数学的思维方式,所以对一般程序员我并不推荐深入地学习,这种素养的培养比编程要困难得多。

 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒)