该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
反正中学数学这方面基本浪费时间,花几分钟给你们点补课方向。
0.关于数学中函数的定义的演变,没搞过数学史的基本都没什么有效的认识,找英文喂鸡百科 History of the function concept 这个条目。基本理解过了就知道学校里学的(包括数学专业本科程度的)都是些什么叒鸡货色了。
1.中学数学姑且当作空气,不过就是带专水平的也得先补课集合论(我记得高中的缩水版好像连笛卡儿积都不教……),搞清楚映射是怎么在集合论意义上构造出来的。然后知道,所谓的函数就是弟弟版映射。
2.补点数理逻辑(不搞 PL 的,本科离散数学的绰绰有余),了解什么叫公式什么叫变量,以及就上面定义构造出来的函数用起来会叒鸡在哪。
3.试着自己想象为什么只有这些所谓的纯函数为什么在实际情况下没多大用。自己归纳什么叫副作用(side effect) 。
4.(不搞 PL 的选做,但最好还是迟早得清楚)理解 μ-recursive functions 和 λ calculi 等常规通用计算模型的主要内容,明白为什么 Turing machine 在实际应用中是弟弟。顺带明白为什么和递归比起来循环是弟中弟。理解可计算理论决定的复杂度类以及算法分析的一般套路,明白折腾具体算法对这种一般问题为什么没鸟用(为什么可能被解决的算法问题比起语言问题在一般场景下往往都更不值一提)。
5.(搞 PL 的有自知之明的做)了解第三次数学危机和各种解决方案,搞清楚为什么需要有 type 及其局限性。理解为什么 total function 不够用而需要 partial function 。理解 Curry-Howard correspondence 在什么情况下能称为 isomorphism 及其局限性。清楚 typing 和 typechecking 的区别。理解为什么你之前需要学的是集合论而不是 category theory 这样吹逼的理论。(然后你就可以愉悦地和各路扯各种语言的大婶**了……)
然后……函数?C ?辣鸡,浪费时间。