公认最早的计算设备:算盘
最早使用“计算机(computer)”一词的文献来自1613年的一本书,作者Richard Braithwait,指的是一种职业,而不是机器。
“I have read the truest computer of times, and the best arithmetician that ever breathed, and he reduceth thy dayes into a short number.”
“步进计算器”(Step Reckoner)最有名:由德国博学家 戈特弗里德·莱布尼茨 建造于1694年。
“步进计算器”类似于汽车里的里程表,不断累加里程数。它有一连串可以转动的齿轮,每个齿轮有十个齿,代表数字0到9,每当一个齿轮转过9,它会转回0,同时让旁边的齿轮前进1个齿。做减法时,机器会反向运作。步进计算器也能做乘法和除法(乘法和除法实际上只是多个加法和减法)
“步进计算器”是第一台能做“加减乘除”全部四种运算的机器。
在20世纪以前,大部分人会用预先算好的计算表(pre-computed tables)
在战争期间,出现了射程表,炮手可以查环境条件和射击距离,表会告知角度是多少。
缺点:如果改了大炮或炮弹的设计,就要算一张新表,很耗时且会出错。
Charles Babbage提出了一种新型机械装置叫“差分机”(Difference Engine),一个更复杂的机器,能近似多项式,多项式描述了几个变量之间的关系,多项式可以用于近似对数和三角函数。
Charles Babbage在1823年开始建造差分机,不幸,该项目最终放弃了。
在1991年,历史学家根据Charles Babbage的草稿做了一个差分机并可以使用,更重要的是,在差分机的建造期间,Charles Babbage构想了一个更复杂的机器:分析机(Analytical Engine)。
分析机不像差分机,步进计算器和以前的其他计算设备,分析机是“通用计算机”。它可以做很多事情,不只是一种特定运算,甚至可以给它数据,然后按顺序执行一系列操作。它有内存,甚至一个很原始的打印机,就像差分机,这台机器太超前了,所以没有建成。然而这种“自动计算机”的概念,计算机可以自动完成一系列操作,是个跨时代的概念,预示着计算机程序的诞生。
英国数学家Ada Lovelace给分析机写了假想的程序,她说:“A new, a vast, and a powerful language is developed for the future use of analysis.”因此Ada被认为是世上第一位程序员。
分析机激励了第一代计算机科学家,所以Charles Babbage经常被认为是“计算之父”。
美国人口普查的背景下,Herman Hollerith发明了打孔卡片制表机(tabulating machine),是“电动机械的”:用传统机械来计数,结构类似莱布尼茨的乘法器,但用电动结构连接其他组件。
打孔卡片制表机用打孔卡(punch cards):一种纸卡,上面有网络,用打孔来表示数据。当卡插入机器时,小金属针会到卡片上,如果有个地方打孔了,针会穿过孔,泡入一小瓶汞,联通电路,电路会驱动电机,再驱动齿轮。
这种机器的速度是手动的10倍左右,使得人口普查在短短两年半内完成。
企业开始意识到计算机的价值,可以提升劳动力以及数据密集型任务来提升利润。为了满足这一需求,Hollerith成立了制表机器公司,这家公司后来在1924年与其它机械制造商合并,成为了“国际商业机器公司”(The International Business Machines Corporation),简称IBM。
到了1900年代中叶,世界人口的爆炸和全球贸易的兴起。要求更快更灵活的工具来处理数据,为电子计算机的发展奠定基础。
1900年代中叶,世界人口的爆炸和全球贸易的兴起。要求更快更灵活的工具来处理数据,为电子计算机的发展奠定基础。