早在3.5万年前,尼安德特人和克罗马农人可能就已经学会了数数,捷克斯洛伐克距今3.3万年前的狼骨和距今3.5万年前的沸沸骨,上面都有并排的划痕。事实证明,甚至早于使用语言,人类就已经懂得使用数学。
(尼安德特人)
早期人类对于数学的认知主要来源于几个关键问题:
-
通过计算物品来记录主权;
-
理解加法和减法两种基本运算;
-
测量角度,比如东向和西向,以免迷路;
……
文明不断演进,数学和信息逐渐被用来解决更加复杂的问题:
-
为建筑用途而计算实际的长宽高;
-
交换物品而计算重量和体积;
-
计算长途距离,比如城市之间的距离;
-
理解乘除法运算规则;
……
早期文明中,为了了解数字和数学知识,需要物理设备和抽象推理相结合。显然,有些刻度用来称重;有些则用来计算山体高度;有些记录方法用来跟踪系列事件,例如长时间观测和记录恒星在空中的位移。
考古发现,古城摩亨朱-达罗曾经有过复杂的数学运用——天平秤和称重计就是在这里发现的。摩亨朱-达罗的巅峰时期拥有3.5万名的居民。它的街道非常紧凑且呈网格状,砖和建筑物都有标准的尺度,显示出重复使用的迹象,而这些都是需要精确测量的。
摩亨朱-达罗
随着计算复杂度的不断提升(数学家不断抛出复杂的数学问题)可能是促成计算设备以及计算机软件最终问世的主要原因。自从开始知道计数和数字概念,使用数字化信息的人就饱受困扰,因为总是需要运算速度更快,结果更可靠。这些困扰不外乎是为了解决以下的这几类问题(括号中是这些领域的发展路线):
-
复杂数学计算问题(加减法、乘除法、几何、三角、代数、微积分)
-
想法/信息的记录问题(石板、书籍、图书馆、数据库、云存储)
-
信息的分发渠道问题(口头传播、符号记号传播、文字字母表、互联网)
诸多领域的演变和融合最终推动软件和计算的新纪元。
1930-1939:数字计算的基础
一场经济萧条拨动着西方国家躁动不安的情绪,法西斯主义的恶性发展,纳粹党迅速膨胀成为德意志第三帝国第一大党。集权统治的法西斯体制正加紧扩军备战。1930-1939,世界正面临一场大战。人们意识到想要在这场战争中获得优势,人类需要更快更可靠的高速运算来处理后勤、导弹学、密码分析等问题,但单凭当时的知识还无法造出支持这样计算能力的设备。
1936年,英国著名数学家图灵(Alan Thring 1912-1954)发表了一篇论文《论可计算数及在判定问题上的应用》,这是公认的对带有可执行程序的可工作计算机的描述。