- 使用归纳法证明递归算法,
- 形式化正确性证明,
- 函数式语言,
- λ演算,
- 渐近复杂度,
- 确定有限状态自动机、非确定有限状态自动机、图灵机和理论计算等,
- 以及盒子里的所有内容都是二进制的事实。
我知道数学对编程非常重要,但我对这种“子集”观点感到困惑。编程在哪些方面是数学的一个子集?
如果有足够强的联系,我希望得到一个与企业/OO开发相关的解释。
我知道数学对编程非常重要,但我对这种“子集”观点感到困惑。编程在哪些方面是数学的一个子集?
如果有足够强的联系,我希望得到一个与企业/OO开发相关的解释。
如果你只是想让老板把设计规格交给你,那么这并不需要太多的数学,但这样的工作一点也不有趣... 然而,想出如何做事情确实需要数学思想,至少需要抽象、图形、有时候还需要数论等知识,根据问题的不同,可能还需要用到微积分。就我个人而言,我参与编程的时间越长,就越能看到其中的数学方面。然而,在我看来,大多数情况下,你可以从图书馆借一本书,查找你需要做的基础知识,但这需要一些数学基础。
如果你不理解背后的数学知识,就无法设计出“好”的算法。在谷歌上搜索只能带你走得那么远。
编程是一个非常广泛的主题。好的软件不仅基于数学(逻辑),还基于心理学、语言学等其他方面。算法是数学的一部分,但除了算法之外,还有许多与程序设计相关的事情。
我成为程序员的部分原因是因为我不喜欢数学。我对数学本身没有问题,概念上也没问题,只是不喜欢手算。当我发现我可以告诉计算机数学问题,让它帮我计算时,一个终身的热情和职业就诞生了。
回答这个问题,根据我的母校来看,数学等于编程,因为他们允许我修Intro to C++来满足我的数学要求。
编辑:我应该提到我的学位是在电信领域,当时只有标准的文科数学要求,只需一学期即可。
将编程与音乐进行比较也是很有趣的。在英国,有一些以计算机为基础的本科大学课程,会根据申请者的音乐资格而非计算机资格来录取,因为这些课程涉及到逻辑、模式等方面。
数学很强大,编程也很强大。如果说数学是编程的一个子集,那么同样可以说编程是数学的一个子集。
数学用语言来描述,通常是书面形式。因此,数学也是写作的一个子集吗?
历史上,数学先于计算机编程,但列表和过程可能都比数学更早出现,两者都可以被视为数学或与编程有关。
当然,编程可以用数学表示,因此有一些基础认为编程是数学的子集。然而,计算机程序也可以实现数学,将信息符号化表示,就像数学在纸上完成时通常所做的那样,包括从基本公理开始的无限和仅略微定义的内容,以及允许定义使用彼此和其他类型关系的更高级结构,支持绘制图表并允许系统扩展。数学同样是编程的一个子集。
虽然数学可以表示诸如单词之类的结构,但数学的设计是关于数字的。例如,字符串比数学更具程序性。
这是一半数学,一半人语,当然啦。