1

我这学期开始学微积分。我以前使用过编程(或脚本)语言,主要是 PHP 和 C#。我没有做过很多低级的工作。我在语法之间建立的唯一关系是带有 Y-Combinators 的匿名函数和带有 Set-notation 的数组(我什至不确定这些是否正确)。

我总是看到微积分和编程之间的相似之处——它几乎就像命理——那么微积分和编程语言有什么关系呢?

潜意识里,我知道有关系,但我不认为我知道合适的术语来描述它。有些人把我提到“计算理论”和“图灵机”,但我还没有真正研究过。如果我不完全理解计算理论,我还能认为自己是程序员吗?

4

2 回答 2

10

“微积分”是一个词的意思,在数学的上下文中:

根据固定规则操作符号表达式的任何形式系统。

因此,仅仅因为两个概念的名称都包含“微积分”这个词,就认为两个概念在某种程度上相关是没有道理的。

Lambda 演算是一种用于建模计算的形式,可证明等同于图灵机。图灵机和 lambda 演算(大约在同一时间独立开发)的目的是提供一个形式系统,在该系统中可以严格证明有关计算的陈述。这是理论计算机科学的基础。它与编程语言有关,因为Church-Turing Thesis本质上指出,任何能够模拟图灵机的编程语言都能够计算任何可能被计算的东西。满足此属性的语言称为图灵完备的。几乎所有现代通用编程语言都具有此属性。

微积分,你在高中学习的那种,除了“微积分”这个词之外,与 lambda 微积分没有任何共同之处。它与编程无关......除非您正在编写一个程序来计算积分或导数。

一阶逻辑(谓词演算的一种)在人工智能和自动定理证明领域具有一定的相关性,但这只是使用计算机解决数学问题,与计算的基础理论无关,或者到编程语言的设计。

于 2010-08-30T19:54:21.147 回答
2

命理是完全不同的东西,但这不是重点!

我学微积分已经有一段时间了,但无论如何,它是数学。它在物理和机械工程方面有很多应用。

微积分和编程有些关系,比如你提到的计算理论,它也是数学的一个子集,但严格来说它根本不是编程。

最后,您可以使用编程语言和软件来求解微积分方程,但您不需要这样做。微积分比计算机存在的时间要长得多!

于 2010-08-30T20:00:52.403 回答