Category theory(范畴论)已经深入渗透到不同的学科,产生了深远的影响。对计算机学科,范畴论也有重要的作用,只是,这方面的知识在国内被严重忽视了。实际情况就是,我们大学教的理论实在太少太旧,而不是太多太新。
所谓范畴论,是关于代数结构的代数结构的理论,这是我个人的看法,不一定准确。比如,我们学过代数结构群,那么群的范畴是考虑所有群的一种结构。
范畴论对计算机学科的影响,首先体现在程序理论(不得不说,我们的大学教了编程,但是对程序理论的教育基本是零),这里有一本关于写给程序员的范畴论(Category Theory for Programmers
-CTFP),推荐给大家。与书配套的视频在网上也可以找到。
实际上,范畴论对计算机专业的影响可以追溯到很遥远的90年代初,比如:B. C. Pierce在91年就有《Basic category theory for computer scientists》。到了21世纪,有了José L. Fiadeiro的《 Categories for Software Engineering》。相信,还可以找到更多。这个帖子里面有很多推荐。
我个人而言,迷上Category是因为在学习抽象代数的时候看了Paolo Aluffi的《Algebra: Chapter 0 》(简记为AC0),通过Category理解抽象代数的若干定义、定理简直令人叫绝。强烈推荐AC0这本书。
最后,想起22年大年初一中国男足输给越南的糗事。事后我曾想,谁让足球有个世界杯呢,如果各行各业都有世界杯,也许最糗的还不见得是中国男足。实际上,我们的大学教育不见得比中国男足好到哪里去,值得大家深思。最后的最后,很多同学都向我表达过,“我不想学这些理论!”。是的,每个人都有选择不学的自由,但是大学却不能因为有学生不想学就不教!