正如大家所见,古希腊数学在几个世纪中取得了令人赞叹的发展。到了公元前三世纪,数学已经成了极为繁荣的学科,其中最耀眼的人物就是阿基米德(Archimedes,他最著名的故事是在浴缸里面发现了浮力原理)。然而随着罗马的兴起,西方数学在其后的将近一千五百年中陷入了停滞。尽管罗马人建造了宏大的工程项目,但是他们却对这些项目背后的数学原理不太感兴趣,因而没有推动数学的发展。正如罗马伟大的政治人物西塞罗(Cicero)在《图斯库勒论辩》(Tusculan Disputations)中所说:
“几何在希腊人眼中拥有崇高的地位,他们最看重的就是数学。然而我们却把这项艺术的运用范围局限在了测量与计算上。”
虽然古罗马时期依然有希腊数学家在从事工作,但很明显的一项事实却是:目前我们并没有发现那个时期用拉丁文(也就是古罗马所使用的语言)撰写而成的原创数学作品。
其后的那段欧洲历史并不像早前那般辉煌。罗马帝国东西分立之后,作为东罗马帝国而存在的拜占庭(Byzantium)帝国是个说希腊语的国家,那里的数学家虽然也在从事研究,但是创新能力却不如从前。到了公元6~7世纪,那些阅读欧几里得著作的学者们通常只会翻开《几何原本》的第1卷,而且他们在将其译为拉丁文时,甚至会把其中的证明过程给省略掉。到了公元1000年的时候,想要学习数学的欧洲人只能去开罗、巴格达或科尔多瓦等阿拉伯人的城市才行。
古代世界的各个文明都对数学有所研究。文明的发展离不开数学。各大文明都制定了计数系统,因为这关系到两项重要的活动,也就是税务的征收与历法的计算,历法有助于排定耕种日期。
此外,有一些数学概念,是普遍存在于每一种主要文明中的,例如毕达哥拉斯三元数(Pythagorean triple,也就是符合a 2 +b 2 =c 2 的三个整数a、b、c)就是如此。有人认为:在新时期时代,人类共享着同一套数学知识,这些知识后来散布到了全球各地。这种说法并没有得到证据的支持。我们今天更容易接受的一种说法是:数学的发展与生物的趋同演化(convergent evolution)现象类似,也就是说,不相关的物种会各自独立地演化出相同的特征。各大文明之所以都会独立地形成同一套数学概念,恰恰是因为这些概念反映了数学的基本性质。
许多文明都在某个时期形成了重要的数学传统。比方说,在中国,公元三世纪的数学家与诗人刘徽,就对《九章算术》(Nine Chapters on the Mathematical Art)这本古书做了注解与扩充。刘氏有许多数学发现,其中一项是证明π的值必定大于3,此外,他还提出了一些用于测量的几何技术。在印度,公元五世纪的数学家与天文学家阿里亚哈塔(Aryabhata),写了一本名为《阿里亚哈塔历书》(Aryabhatiya)的基础读物,其中含有平方根与立方根算法以及一些几何技巧。阿拉伯、波斯及犹太学者进一步发展了印度的数学思想,并用阿拉伯文来记录这些成果,这对欧洲数学在十三世纪早期的复兴产生了很大的影响。
计算机科学是从复兴之后的欧洲数学传统中涌现出来的,因此,我们接下来就专门谈这一部分内容。程序员所依赖的数学知识都源自该传统。