编程和数学有什么关系?
编程对不同的人有不同的含义:
对于普通程序员来说,就是代码和可运行程序的输出(这里数学不是特别重要,更重要的是对各种框架的理解、掌握和设计模式等。).
对于算法工程师来说,数学很重要(比如机器学习、密码学、计算机图形学等。).
题目中提到的函数,其实是一种封装的形式来达到目的,而递归只是在函数中调用自己(当然需要终止条件)。
扩展数据:
编程的核心是什么?总结起来就是编程思路和逻辑算法。编程思想是需要不断总结的,框架思想也是一种编程思想。有必要从千千成千上万的代码逻辑中抽象出一个解决方案或框架。
通俗点就是解决问题的能力。问题有很多种,有直接的简单问题,也有长期的复杂问题,还有未来没有发生的问题。有直接的解决方案和设计框架来解决。
所以格局较低的人可能会专注于解决眼前的实际问题,而格局较高的人会想着设计一个框架,业内通常称之为轮子,来避免类似的问题。这就是普通程序员和顶尖高手的差距,起点和格局不在一个节奏上。
至于具体的解题模式设计,会涉及到逻辑算法。简单的可能非常容易理解,复杂的或者多种组合的基本都会需要数学知识。所以只有认识到这个层面,才会觉得数学对于编程特别重要。
尤其是对于一些复杂的问题或者解决根本性的问题,有些程序员因为自身条件或者工作的原因,是永远不会接触到的,但这并不代表不存在。数学对于编程逻辑的重要性不言而喻。
无论是分析问题和解决问题,还是从更大的格局来解决问题,都不要低估数学对编程的影响。虽然不是每个编程角都能和数学有关,重要场景也不会缺席,但也没必要为了学习编程而专门去学数学。如果学生在学校看到,可能意义更大。
所以擅长数理逻辑的人在学习编程方面有一定的优势。喜欢逻辑推理的人,从骨子里来说,非常适合成为一名优秀的程序员。当然,他们真的很优秀,需要发自内心的爱。
知网论文-数学算法优化计算机程序设计的分析与研究