查看原文
其他

一篇读罢头飞雪:计算机发展时间线(上)| 跟陶叔学编程

风云之声 2021-01-27

The following article is from 跟陶叔学编程 Author 跟陶叔学编程

      


关注风云之声

提升思维层次



导读


计算机是怎么产生又是怎么发展与演变的?为什么早期计算机会用纸带作为输入载体?历史上第一位软件工程师竟然是位美女?有的老电影里出现的像手雷一样的手摇机器是什么?像电灯泡一样的电子管为什么可以用在计算机里?……这些问题通过阅读本文都可以获得解答。一篇读罢头飞雪,但记得斑斑点点。人类文明每一次进步都来之不易,有笑有泪,有畅快有惋惜,有侥幸有错过……万水千山不忘来时路,树高千尺根深在沃土,让我们记住这些闪光的名字,传递智慧与文明的火种。注:风云之声内容可以通过语音播放啦!读者们可下载讯飞有声APP,听公众号,查找“风云之声”,即可在线收听~


16世纪

  人类真正开始想用机械来代替脑力进行快速计算的想法,还是始于文艺复兴末期。随着那个时期各种自然科学的快速发展,尤其是数学、物理以及天文科学的进步,使得人们的计算越来越复杂,而精度要求也越来越高。就是在这个时候,计算机器的概念,开始在一些先驱者们的脑海中萌生。

17世纪

  1623年,德国图宾根大学教授威廉·契克卡德(1592年—1635年)为天文学家开普勒(就是那个成为望远镜的开普勒)制作了一种机械计算器。据说,契克卡德制造了两台原型,但实物没有留下来。

1935年,后人在整理开普勒留下的研究资料时发现了几张三百年前的草图,当时人们不知道上面画的是什么玩意(这些草图从开普勒的一本书中滑落,估计是被用做书签了)。

直到1957年,一位开普勒的传记作者才认出来,那是史上真正的第一台机械式计算器——计算钟,它比帕斯卡机的诞生早了约20年。契克卡德的手稿被辨认之后,图宾根大学一位名叫布鲁诺·冯·弗雷塔格-洛林霍夫的学者立刻开展了相关研究,并于1960年做出了计算钟的复制品,并证明可以正常运行。

契克卡德计算钟支持6位整数计算,主要分为加法器、乘法器和中间结果记录装置三部分,它们虽然集成在同一台机器上,但相互之间没有任何物理关联。位于机器底座的中间结果记录装置是一组简单的置数旋钮,主要是为了省去计算过程中笔和纸的参与。当计算结果溢出(超出6位数)时,机器会发出响铃警告(所以被称为钟)。

  同年,法国数学家布莱士·帕斯卡(1623年—1662年,就是那个物理的压强单位帕斯卡)出生。他三岁丧母,由担任税务官的父亲养大。在帕斯卡小时候,看到父亲计算税率税款的时候非常辛苦,就想帮父亲做点事情。

  1630年,英国数学家威廉·奥特雷德(1575年3月5日—1660年6月30日)在使用当时流行的对数刻度尺做乘法运算时,突然想到,如果用两根相互滑动的对数刻度尺,不就省去了用两脚规度量长度了么。他的这个想法导致了计算尺的诞生,但奥特雷德对这件事情并没有在意。

  1642年,帕斯卡(19岁)发明了人类有史以来第一台(划掉,因为契克卡德计算器更早。但帕斯卡是独立发明)机械计算器——帕斯卡加法器,全名为滚轮式加法器,当初发明它的目的是为了帮助父亲解决税务上的计算。其外观上有6个轮子,分别代表着个、十、百、千、万、十万等。只需要顺时针拨动轮子,就可以进行加法。而把上方的横条移下来,采用补九码的方式就可以以加法的方式进行减法(这也是计算机中沿用至今的补码思想)。父亲的上司、法国财政大臣来到他家,观看帕斯卡表演“新式的计算机器”, 并且鼓励他投入生产,大力推广这种“人类有史以来第一台计算机器”。不久,帕斯卡“加法器”在法国引起了轰动,机器展出时,人们成群结队前往卢森堡宫参观。就连大数学家笛卡尔听说后, 也乘回国探亲的机会,亲自上门观看。帕斯卡后来总共制造了50台同样的机器, 有的机器计算范围扩大到8位。其中有两台,至今还保存在巴黎国立工艺博物馆里。帕斯卡发明的加法器在全世界都有若干仿制品,它第一次确立并广泛传播了计算机器的概念。

  1654年,帕斯卡提出差分思想:n次多项式的n次数值差分为同一常数。差分规律是一项伟大的发现,有了差分,在计算多项式时就可以用加法代替乘法。同时,许多常见的函数在数学上称为解析函数,它们都可以用多项式逼近(幂级数展开),常用的三角函数、对数函数都可以转换为多项式。借助差分思想,这些函数可以进一步转换为重复的加法。而加法运算正是机械计算器的“拿手好戏”,这样一来,绝大部分数学运算就都可以交给机器了。差分思想是机器计算的理论基础。

  1662年,帕斯卡(39岁)去世。不久后,德国数学家戈特弗里德·威廉·莱布尼茨(1646年7月1日—1716年11月14日,就是那个和牛顿同时发明微积分的)看到了帕斯卡关于加法器的论文,勾引起了他的发明欲。

  1674年,莱布尼茨在巴黎聘请了一些著名的机械专家和能工巧匠,终于制造出了一台更完美的机械计算器——步进计算器。莱布尼茨发明的新型计算器约有1米长,内部安装了一系列齿轮机构,基本原理继承于帕斯卡。

不过,莱布尼茨技高一筹,他为计算器增添了一种名叫“步进轮”(stepped drum)的装置。步进轮是一个圆筒,圆筒表面有九个长度递增的齿,第一个齿长度为1,第二个齿长度为2,以此类推,第九个齿长度为9。这样,当步进轮旋转一周时,与其啮合的小齿轮旋转的角度就可以因其所处位置(分别有0~9十个位置)不同而不同。代表数字的小齿轮穿在一个长轴上,长轴一端有一个示数轮,显示该数位上的累加结果。置零后,滑动小齿轮使之与步进轮上一定数目的齿相啮合:比如将小齿轮移到位置1,则只能与步进轮上长度为9的齿啮合,当步进轮旋转一圈,小齿轮转动1格,示数轮显示1;再将小齿轮移动到位置3,则与步进轮上长度为7、8、9的三个齿啮合,小齿轮就能转动3格,示数轮显示4;以此类推。这样一来,它就能够连续重复地做加法。连续重复的计算加法是现代计算机做乘除法采用的办法,因此莱布尼茨的计算器加减乘除四则运算一应俱全。

莱布尼茨步进轮

  1679年,莱布尼茨发明了二进制,并对其系统性深入研究进行了完善。


18世纪

  1714年,英国人亨利·米尔(Henry Mill)取得打字机的发明专利。

  1725年,法国纺织机械师B·布乔为改进源自中国的提花编织机,发明了“穿孔纸带”的构想。布乔想出了一个“穿孔纸带”的绝妙主意。布乔首先设法用一排编织针控制所有的经线运动,然后取来一卷纸带,根据图案打出一排排小孔,并把它压在编织针上。启动机器后,正对着小孔的编织针能穿过去钩起经线,其它则被纸带挡住不动。于是,编织针自动按照预先设计的图案去挑选经线,布乔的“思想”“传递”给了编织机,编织图案的“程序”也就“储存”在穿孔纸带的小孔中。

  1752年,美国科学家本杰明·富兰克林(Benjamin Franklin,1706年1月17日—1790年4月17日,就是那个印在100美元上的富兰克林)用风筝线将闪电引到了地表,这个像神话一般的大胆实验,宣告着人类正式从造物主那里接收了这件将从根本上改变计算技术的神物。

  1784年,德国工程师约翰·赫尔弗里奇·冯·米勒最早提出差分机的设想,但他没有得到资金支持。

  1785年,法国发明家查尔斯·泽维尔·托马斯(1785年—1870年)出生。他早年在军队工作,是整个法国军队后勤补给的检查员,繁重的计算使他萌生了建造实用机械计算器的想法。

  1789年,法国大革命推翻君主制,新成立的国民议会大刀阔斧地推行着多方改革,其中一项很重要的工作就是统一全国混乱不堪的度量衡,这项旷日持久的工程直接导致了后来国际米制的诞生,成为法国对世界科学最伟大的贡献之一。

  1790年,法国机械师约瑟夫·玛丽·杰卡德(1752年—1834年),基本形成了改进提花机的构想。

  1791年,法国发起了一项宏大的工程——人工编制《数学用表》。表的规模十分庞大,计算结果需要精确到小数点后14~29位,工作量十分巨大是当时的超级工程。由于当时没有先进的计算工具,发动数学界调集大批的数学家,组成人工计算的流水线,算得昏天暗地才完成了17卷大部分的书稿,即便如此,计算出的《数学用表》仍有大量错误。

  18世纪末,发明蒸汽机的英国科学家詹姆斯·瓦特(James Watt1736年1月19日—1819年8月25日,功率单位)成功制作了第一把计算尺,在尺座上增加了一个滑标,用来“存储”计算的中间结果,这种滑标很长时间一直被后人所沿用。


19世纪

  19世纪初,意大利一位美丽的贵族女性双目失明,深爱着她的男友和她的哥哥合力为她建造了第一台打字机。

  1805年,杰卡德真正完成”自动提花编织机“的制作。他为提花机增加了一种装置,能够同时操纵 1200 个编织针,控制图案的穿孔纸带后来换成了穿孔卡片。

  1812年,英国数学家查尔斯·巴贝奇(1792年—1871年)承担制表任务。他深入调研前辈的工作,认识到人工计算出现错误不可避免,由此产生了用机器来计算对数表的想法。巴贝奇的第一个目标是制作一台”差分机“。所谓“差分”的含义,是把函数表的复杂算式转化为差分运算,用简单的加法代替平方运算。

  1820年,托马斯总结了帕斯卡和莱布尼茨的经验教训,在经过两年的潜心研究,并在一位巴黎钟表匠的帮助下,完成了第一台原型机,并取得了专利。托马斯给了它一个极普通的名字——算术仪。随后这台机器,和后续零零散散的几台改良机一起,在托马斯的工作台上搁置了30年之久。

  1820年4月,丹麦物理学家汉斯·克里斯蒂安·奥斯特(Hans Christian Ørsted)在实验中发现通电导线会造成附近磁针的偏转,证明了电流的磁效应。

  1821年,托马斯因发明了算术仪而获得法国荣誉军团骑士勋章。

  1822年,受打字机便捷的键盘操作启发,《新世纪的发明》(《A New Century of Inventions: Being Designs & Descriptions of One Hundred Machines, relating to Arts, Manufactures & Domestic Life》,作者James White)一书最早发表按键式计算器设计。随后有意、法、美等多国的发明家为按键式计算器的建造与改进前赴后继。

  同年6月14日,巴贝奇向皇家天文学会递交了一篇名为《论机械在天文及数学用表计算中的应用》的论文,差分机的概念正式问世。与论文一起亮相的,是一台简单的原型机——差分机0号,它可以处理3个不同的5位数,计算精度达到6位小数,当即就演算出好几种函数表。巴贝奇上书皇家学会,要求政府资助他建造第二台运算精度为20位的大型差分机。政府看到巴贝奇的研究有利可图,破天荒地与科学家签订了第一个合同。财政部慷慨地为这台大型差分机提供出1700英镑的资助。拿到启动资金的巴贝奇立即着手差分机1号的研制,并宣称只需两三年就能完成任务。谁知实行起来要比想象中困难得多,那个时代的机械制造水平实在满足不了差分机的精密要求,巴贝奇跑遍整个欧洲也没找到多少能用的零件,于是在制造机器之前,还要先考虑怎么制造各类零件。在当时一位顶尖的英国机械师约瑟夫·克莱门特的帮助下,巴贝奇不但做出了差分机能用的零件,还培养出大批优秀的技师。也正因如此,他们无意间将一个项目的摊子铺到了一个行业的尺度,尽管实施的过程精雕细琢、尽善尽美,却没能交付一件满足要求的产品。

  1831年,英国物理学家迈克尔·法拉第(Michael Faraday,1791年9月22日—1867年8月25日就是那个电容的单位法拉)发现了电磁感应现象,证实了电能和磁能可以相互转化,为后来的电动机和发电机的诞生奠定了基础,人类则因这些发明创造从此迈入电气时代。

理工科还是有帅哥的!

  同年,美国物理学家约瑟夫·亨利(Joseph Henry ,1797年—1878年,就是那个电感的单位亨利)

在研究电路控制时利用电磁感应现象发明了继电器。最早的继电器是电磁继电器,它利用电磁铁在通电和断电下磁力产生和消失的现象,来控制高电压高电流的另一电路的开合,它的出现使得电路的远程控制和保护等工作得以顺利进行。继电器是人类科技史上的一项伟大发明创造,它不仅是电气工程的基础,也是电子技术、微电子技术的重要基础。(据说亨利比法拉第要早一年发现电磁感应现象。但是当时世界科学的中心在欧洲,亨利正在集中精力制作更大的电磁铁,没有及时发表这一实验成果。)

  1832年,项目启动10年之后,巴贝奇却只完成了设计稿的七分之一——一台支持6位数、2次差分的小模型(设计稿为20位数、6次差分)。

差分机1号的七分之一模型

  1834年,巴贝奇提出了一个更新更大胆的设计——通用的数学计算机。巴贝奇称它为“分析机”,它能够自动解算100个变量的复杂算题,每个数字可以达25位,速度每秒1次。巴贝奇为分析机构思了一种齿轮式的“存贮库”,每一齿轮可贮存10个数,总共能够储存1000个50位数。分析机的第二个部件是所谓“运算室”,其基本原理与帕斯卡的转轮相似,但他改进了进位装置,使得50位数加50位数的运算可完成于一次转轮之中。此外,巴贝奇也构思了送入和取出数据的机构、以及在“存储库”和“运算室”之间运输数据的部件。他甚至还考虑到如何使这台机器处理依条件转移的动作(即条件跳转结构)。一个多世纪过去后,现代电脑的结构几乎就是巴贝奇分析机的翻版,只不过它的主要部件被换成了大规模集成电路而已。仅此一说,巴贝奇就当之无愧于计算机系统设计的“开山鼻祖”。在巴贝奇之前或之后发明的机械时期的计算设备可以统称为“计算器”(calculator),而巴贝奇想发明出的分析机则属于“计算机”(computer)。发明计算器时,人类将运算的能力交给机器;发明计算机时,人类将组织运算的能力交给机器。计算机的发展史,就是人类一步步将智慧交给机器的过程。分析机读卡装置的原理与杰卡德提花机类似,也是靠探针尝试穿过卡片,要么顺利穿过,要么被卡片顶住,两种不同情况下的探针位移能产生不同的机械传动——这其实是计算机史上最早的二进制应用。巴贝奇首次将运行步骤从机器身上剥离,靠随时可以替换的穿孔卡片来指挥机器,成就了机器的可编程性。这其中,穿孔卡片的引入功不可没。这种经典的数据载体跨越了机械、机电和电子3个时代,一直沿用至20世纪80年代中期。

分析机使用的穿孔卡片——上:数据类卡片|下:运算类卡片

  1842年,由于进度缓慢,政府宣布停止对巴贝奇的一切资助,为期20年的差分机项目最终以失败告终。至此,项目花销的经费已经高达17500英镑,是最初预算的整整10倍,巴贝奇称自己也贴进去2万多英镑巨款,用以弥补研制经费的不足。在当年,这笔款项的数额无异于天文数字(有关资料介绍说,1831年约翰·布尔制造一台蒸汽机车的费用才784英磅)。巴贝奇收到了一封信,写信人不仅对他表示理解而且还希望与他共同工作。收到信函不久后,写信的女士来到了巴贝奇的实验室。她在十多年前曾经听过巴贝奇讲解差分机原理,同时她也是英国诗人拜伦之独生女,名叫阿达·罗浮莱斯(Ada Lovelace)。阿达开天辟地第一回为计算机编出了程序,其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。阿达编制的这些程序,即使到了今天,电脑软件界的后辈仍然不敢轻易改动一条指令。人们公认她是世界上第一位软件工程师

  1843年,瑞典人佩尔·乔治·舒茨在借鉴巴贝奇的设计之后,建成了一台支持5位数、3次差分的差分机,随后又分别在1853和1859年建成了两台支持15位数、4次差分的机器,先后由美国纽约的一家天文台和英国政府购买使用。舒茨之后,还有来自瑞典、英国、美国、德国、新西兰等多国的发明家和公司在1859~1931年间都成功建造了差分机。

乔治·舒茨及其差分机

  1846年~1849年,巴贝奇升级了设计,提出支持31位、7次差分的差分机2号方案,但没了政府的资助,只能停留于稿纸。于是,巴贝奇的设计是否真的可行,其人作为“差分机之父”是否名副其实,成为学术界长久以来的一大争论。直到1985~1991年,伦敦科学博物馆为了纪念巴贝奇诞辰200周年,根据其1849年的设计,用纯19世纪的技术成功造出了差分机2号,才彻底巩固了他的历史地位。(博物馆发现,巴贝奇的设计稿中仅存在少量错误,而且基本可以断定它们是巴贝奇刻意设置的防盗措施。)

这台差分机被珍藏于伦敦科学博物馆的玻璃柜中。后来,由前微软CTO内森·梅尔沃德负责建造了第2台差分机2号,于2008~2016年在美国加州的计算机历史博物馆展出(现存于梅尔沃德创办的高智发明公司),由工作人员现场讲解和演示,参观者得以更直观地感受其工作机理。

  1850年以后,计算尺迅速发展,成为工程师随身携带的”计算器“,一直到20世纪五六十年代,计算尺仍然是工科大学生的一种身份标志。

  1851年,66岁的托马斯开始了算术仪的商业生产。以往的机械式计算器通常只是发明者自己制作了一台或几台原型,帕斯卡倒是有赚钱的念头,生产了20台加法器,但是根本卖不出去,这些机器往往并不实惠,也不好用。托马斯是将机械式计算器商业化并取得成功的第一人。托马斯的尝试非常成功,他在余生的20年时间里卖出了大约1000台算术仪。采购算术仪的买家会得到一个质感厚重的木盒,打开盒盖,只见里头是一架结构精致的黄铜机械。作为一件正式商品,每台算术仪上都标有独一无二的产品序列号,并附带使用说明书。算术仪有4种主流型号,分别支持10位数、12位数、16位数和20位数的计算,各型号机身的宽度都在18cm左右,高度约在10~15cm范围,长度与位数相关,10位算术仪约长45cm,20位算术仪约长70cm。他贴心的细节设计为用户提供了最大限度的便利,比如一键清零、滑钮置数、手柄始终顺时针旋转——正是这些看似微小的改进,使得算术仪虽与步进计算器的用法大致相似,却更受欢迎。传统计算员的工作模式发生了质的改变。他们的习惯动作从计算尺的一抽一拉,变成了手柄的不停旋转,一个“手摇计算”的时代正式开启。

  1852年,因为经历了长期超负荷的脑力劳动,阿达的身体状况急剧恶化,年仅36岁的阿达怀着对分析机美好的梦想去世。艾达对分析机有着不亚于巴贝奇的热爱,想象中机器的运转在她看来是如此美妙,她形容到:“杰卡德提花机织出了红花与绿叶,而分析机编织着代数的图案。”(the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves)。艾达还说:“无论如何编程,分析机都不能自己做出决策。它只能完成我们让它做的事情……它的证明只能协助我们证明我们已经懂得的东西。”(The Analytical Engine has no pretensions whatever to originate anything. It can do whatever we know how to order it to perform…. Its province is to assist us in making available what we are already acquainted with.)这后来被阿兰图灵形容为“罗浮莱斯夫人异议”。这位聪慧而浪漫的女性,还在分析机身上看到了连巴贝奇都没有看到的潜力:它不该只能用来计算,它还能用来表达其他东西,比如音乐。这是多么长远的目光!1980年,美国国防部将一种编程语言命名为Ada,以纪念这位与巴贝奇同样具有超前思想的伟大女性。

  1854年,英国数学家乔治·布尔(1815.11.2—1864.12.8)出版了《思维规律的研究》 ,这是他最著名的著作。在这本书中布尔介绍了现在以他的名字命名的布尔代数。他也是巴贝奇与艾达的朋友。

  1855年,托马斯为巴黎世界博览会专门制作的30位算术仪,足有一架钢琴那么大。

  1857年,美国牧师托马斯·希尔(1818年—1891年)获得按键式计算器专利。那个年代的人们终于发现旋钮置数确实不太方便,希尔是计算器改为按键设计的第一人。计算机史上有关他的记载不多,但是能找到他1857年的专利,其中详细描述了按键式计算器的工作原理。

  1871年,巴贝奇去世,最终分析机没有被制造出来。阿达去世后,他默默地独自坚持了20年,晚年的他已经不能准确发音和有条理的表达自己的意思,但仍坚持工作。分析机的研制不幸步了差分机的后尘,巴贝奇付出了几十年的努力,却仍只建成了它的一小部分。巴贝奇抱憾而终,留给后世的仅仅只有这台小小的模型和两千多张图纸。巴贝奇和阿达设想的分析机超出了他们所处时代至少一个世纪。为了纪念巴贝奇一生伟大的成就,后人将一座月球环形山命名为“巴贝奇”,美国明尼苏达大学设立了专门研究IT历史的查尔斯·巴贝奇机构,上世纪的一型电子计算机还提供了一种名为巴贝奇的编程语言。在英国,巴贝奇早已成为一种文化符号和民族骄傲。普利茅斯大学专门修建了一座巴贝奇大楼,托特尼斯镇则干脆把巴贝奇的头像印到了当地的纸币上,2015年,巴贝奇和分析机、艾达和她的伯努利程序还一同出现在英国的护照上……

巴贝奇逝世后,小儿子亨利·普雷沃斯特·巴贝奇继承了他的遗志,在1880~1910年间断断续续做出了分析机的“工厂”和打印装置,其中的“工厂”还不具有可编程性。和差分机不同的是,分析机现存的图纸并不完整,因此至今也没人建造出来。2010年10月,一位英国的计算机专家发起了一个名为“Plan 28”的项目(名称来源于巴贝奇的第28套设计方案),通过公开募捐的形式筹集资金,计划深入研究分析机的设计,而后构建仿真模型,最终建造实物。截止2017年,“Plan 28”完成了对所有现存资料的整理、归类和消化,它最终能否让分析机从图纸上“活过来”,让我们一起拭目以待。

  1874年,“打字机之父”美国人克里斯托夫·拉森·肖尔斯开始了打字机的商业化生产,并设计了我们熟悉的“QWERTY”样式(为了减少故障率而故意折腾我们的坏人)。

  1875年,美国发明家弗兰克·史蒂芬·鲍德温(1838-1925)取得销轮计算器专利。(起个大早赶个晚集)

  1878年,来自瑞典的机械工程师W·T·奥德纳(1845-1905)在俄罗斯取得销轮计算器专利。


莱布尼茨步进轮虽然好用,但由于其长筒状的形态,机器的体积通常很大,某些型号的算术仪摆到桌子上甚至要占掉整个桌面,而且需要两个人才能安全搬动,亟需一种更轻薄的装置代替步进轮。这一装置就是销轮(Pinwheel)即可变齿数齿轮,从17世纪末贯穿整个18世纪,有很多人尝试研制,限于当时的技术条件,没能成功。直到19世纪70年代,真正能用的可变齿数齿轮才由鲍德温和奥德纳分别独立制成。该装置圆形底盘的边缘有着9个长条形的凹槽,每个凹槽中卡着可伸缩的销钉,销钉挂接在一个圆环上,转动圆环上的把手即可控制销钉的伸缩,这样就可以得到一个具有0~9之间任意齿数的齿轮。齿轮转一圈,旁边的被动轮就转动相应的格数,相当于把步进轮拍成了一个扁平的形状。步进轮必须并排放置,而可变齿数齿轮却可以穿在一起,大大缩减了机器的体积和重量。

  1880年,美国举行第11次全国性人口普查。人口普查需要做大量工作,如年龄、性别等用调查表做采集的项目,还要计算每个社区有多少老人、小孩,男人、女人等。在人口调查局从事统计工作的赫曼·霍列瑞斯(1860-1929),产生了用机器自动统计这些数据的想法。

  1883年,美国发明大王托马斯·爱迪生(Thomas Alva Edison,1847年2月11日—1931年10月18日)正在为寻找电灯泡最佳灯丝材料,曾做过一个小小的实验。他在真空电灯泡内部碳丝附近安装了一小截铜丝,希望铜丝能阻止碳丝蒸发。虽然失败了,但他无意中发现,没有连接在电路里的铜丝,却意外地用电流表检测出了金属片中的微弱电流。这在当时是匪夷所思的,难不成电流从空中飞渡了吗?他进一步实验,发现只有当金属片与电源的正极相连时才会产生电流,反之则不会。爱迪生不明白这是什么原理,也没想过可以怎样应用,但依然申请了专利,这种现象因而被称为爱迪生效应(Edison effect)。爱迪生并没有料到,自己的无意之举打开了电子学的大门。

爱迪生及其发现爱迪生效应的灯泡

  1884年,霍列瑞斯制作完成了第一台制表机。机器上装备着一个计数器,当穿孔纸带被牵引移动时,一旦有孔的地方通过鼓形转轮表面,计数器电路就被接通,完成一次累加统计。当年,他把机器运到巴尔的摩人口登记办公室去进行实验,尽管存在着许多问题,机器统计的先进性还是受到人们的欢迎。后来他又对制表机进行了改进,把连续的“穿孔纸带”换成每人一张的“穿孔卡片”,解决了穿孔纸带数据无法分类的困难。同时他设计制作了配套的卡片打孔装置——缩放仪,并雇佣了一些女职员来做打孔工作。这些女职员也成了历史上第一批数据录入员

  1885年元旦过后不久,美国发明家多尔·尤金·菲尔特(1862-1930)

制作了第一台按键式计算器的原型机。这是一只木质的通心粉盒子,里面组装着从小商店里淘来的肉扦子、订书钉、橡皮筋等小零件。

没过多久,菲尔特就遇到了赞助商罗伯特·塔兰特。塔兰特十分看好菲尔特计算器的前景,于是给他提供了每周6美元的补助和一个像样的工作台,以及高达5000美元的制作费用。

  1886年秋天,菲尔特做出了第一台实际可用的原型,并于次年7月获得专利。机器的内部实现基本参考了帕斯卡的算术机。在此基础上,菲尔特又照搬了托马斯·希尔的按键设计。1887年11月,俩人签订合作协议,一个提供技术,一个提供资金,于1889年1月25日成立菲尔特&塔兰特制造公司(F&T)。他们为所生产的计算器专门想了个名字——Comptometer(计算仪),这个单词后来成为按键式计算器的代名词,尽管菲尔特和塔兰特一再强调其商标的专用性。

这是一种“全键盘”设计,每个数位都有1~9九个按键(0不需要置数),某一位上要置什么数,就按下这一列上对应的按键。每列按键都装在一根杠杆上,杠杆前端有一根与杠杆垂直的齿条,按下按键带动杠杆摆动,与齿条啮合的齿轮随之旋转一定角度。按键1~9的键程依次递增,按下之后所带动杠杆摆动的幅度便依次递增,齿轮旋转的角度也依次递增(相当于给旋钮转到不同位置)。手指抬起后,在弹簧的作用下,按键和杠杆恢复原位,同时带动齿轮反向旋转,此时的齿轮带动示数轮旋转相应角度。这意味着,按完一个键,这个键所代表的数值就已经被累加到结果之上了,置数与计算一气呵成,不再像手摇计算器那样,完成置数后还要旋转计算手柄。公司成立之后,在菲尔特的持续改进下,计算仪经历了多个阶段的发展。

一款1905年的Model A

F&T公司在机械计算器市场一路高歌猛进,菲尔特在计算仪的改进上先后取得了46项美国专利和25项国外专利。

  1889年,菲尔特发明了世界上第一台能在纸带上打印计算结果的机械式计算器——Comptograph,相当于给计算器引入了存储功能。

1914年的Comptograph

  1890年,奥德纳拥有了自己的工厂,开始生产销轮计算器,他的机器被称为奥德纳算术仪。销轮计算器的优势在于“销轮”。托马斯的算术仪继承莱布尼茨计算器的“步进轮”,并使其更加实用,却绕不过它笨重的特质。销轮就是把步进轮拍扁的改进设计。奥德纳算术仪也分为不动和可动两大部分,通过拨动外露的销轮把手置数,计算手柄顺时针旋转进行加、乘运算,反之减、除。奥德纳还设计了标识小数点的滑块,方便用户小数计算时的读数。显然,扁平式的销轮使机器上的数位可以挨得很近。

上图中是比较主流的13位(计算结果)奥德纳算术仪,这一型产品(含底板)的长度一般在30cm左右,而20位的产品长度一般也只有40cm出头,相比托马斯算术仪要紧凑得多,而且位数越多越有优势。电影《横空出世》里陆光达计算原子弹数据时所用的机器就是其中之一。

左手拨动可变齿数齿轮上的把手进行置数,右手旋转计算右侧手柄进行计算

  同年,美国第12次人口普查即将开始。人口调查局以向社会招标的方式,征集计算设备和统计方案。前来应征的共有三个人。霍列瑞斯的主要竞争对手是威廉姆·亨利和查尔斯·皮格金,其中,亨利还是人口调查局的头头。录入数据的过程,亨利和皮格金分别用了144小时和100小时,霍列瑞斯的机器只用了72小时;数据统计的过程,亨利和皮格金分别耗费44小时和55小时,霍列瑞斯制表机再次夺冠,仅仅用了5小时28分钟。制表机以无可置疑的优势,让霍列瑞斯赢得了这个合同。在霍列瑞斯制表机支持下, 第12次人口普查的统计工作仅用了6个星期时间,其中一部分时间还被用来处理上次普查的遗留问题。这种制表机为人口调查局节省了约500万美元费用,是霍列瑞斯本人估计的10倍。人口调查局在报告中写道:“用这种机器,在不增加费用的前提下,过去许多无法编制的表格现在都有可能统计出来了。”

下图就是用在1890年人口普查中的穿孔卡片,一张卡片记录一个居民的信息。卡片设计长约18.73cm,宽约8.26cm,正好是当时一张美元纸币的尺寸,因为霍列瑞斯直接用财政部装钱的盒子来装卡片。

卡片设有300多个孔位,与杰卡德和巴贝奇的做法一样,靠每个孔位打孔与否来表示信息。尽管这种形式颇有几分二进制的意味,但当时的设计还远不够成熟,并没有用到二进制真正的价值。举个例子,我们现在一般用1位数据就可以表示性别,比如1表示男性,0表示女性,而霍尔瑞斯在卡片上用了两个孔位,表示男性就其中一处打孔,表示女性就在另一处打孔。其实性别还凑合,表示日期时浪费得就多了,12个月需要12个孔位,而常规的二进制编码只需要4位。当然,这样的局限也与制表机中简单的电路实现有关。细心的读者可能发现卡片的右下角被切掉了,那不是残缺,而是为了避免放反而专门设计的,和现在的二维码只有3个角是一个道理。在制表机前,穿孔卡片(或纸带)多用于存储指令而不是数据。比较有代表性的,一是杰卡德提花机,用穿孔卡片控制经线提沉;二是自动钢琴,用穿孔纸带控制琴键压放。是霍列瑞斯将穿孔卡片作为数据存储介质推广了开来,并开启了一个崭新的数据处理纪元。后来人们也把这类卡片称为霍列瑞斯卡片,穿孔卡片和穿孔纸带作为输入输出载体,统治了计算领域整整一个世纪。

  1893年开始,世界各地相继出现了许多生产奥德纳算术仪的其他公司。

  1896年,霍列瑞斯创办了制表机公司(The Tabulating Machine Company),并不断改进自己的产品,先后与英国、意大利、德国、俄罗斯、澳大利亚、加拿大、法国、挪威、美国波多黎各、古巴、菲律宾等多个国家和地区合作开展了人口普查。产品也不再局限于人口普查,逐渐扩展到会计、库存管理等一些同样需要跟大数据打交道的领域,这些机器作为制表机的后裔被统称为单元记录设备(unit record equipment)。围绕穿孔卡片的制卡、读卡、数据处理和卡片分类是它们的标准功能,穿孔机、读卡器、分类器是它们的标准配置。这些部件的自动化程度越来越高,比如手动的读卡装置很快被自动读卡机所取代,读卡速度从每分钟100张逐步提高至每分钟2000张。随着识别精度的提高,卡片的孔距也越来越小,具有80~90列孔位的卡片成为主流,有些卡片的孔位甚至多达130列。机器的功能也逐渐强大,不再只是简单地统计穿孔数目,减法、乘法等运算能力陆续登场。

20世纪典型的80列穿孔卡片

1911年,制表机公司与另外3家公司合并成立CTR公司(Computing-Tabulating-Recording Company),制表机公司作为其子公司继续运营到1933年。1924年,CTR更名为国际商业机器公司,就是现在大名鼎鼎的IBM公司。可见,在如今众多年轻的IT公司中,拥有百年历史的IBM是位当之无愧的前辈,它完整地参与和见证了整个现代计算机的发展史。

  1897年,英国物理学家约瑟夫·约翰·汤姆生(Joseph John Thomson,1856年—1940年)发现了电子,人们才明白爱迪生效应是电子从加热的灯丝表面逃逸,被金属片捕获的结果,当金属片连接电源负极,同极相斥,也便不会接收来自灯丝的电子。爱迪生效应因此有了一个更专业的名称——热电子发射(Thermionic emission)。

  到19世纪结束时,机械计算器逐渐进入鼎盛时期,电子计算器与电子计算机逐渐露出曙光。让我们看两段视频,好好欣赏一下这些改变世界的机械之美:

1. 机械美学:古董机械计算器 via Kevin Twomey

2. 看看Friden 1217机械计算器怎么运算(除法时间好长!)


  还有一篇文章,这里有大量的机械计算器的美图:

【精算之美】It s ALIVE!神奇而复杂的古董机械计算器


未完待续……


整理摘抄自以下资料:

  1. 计算机发展历史https://www.cnblogs.com/lst1010/p/5785526.html

  2. 如果没有这20个理科生的存在,估计这世界要倒退100年https://www.sohu.com/a/258735599_722760

  3. 机械之美——机械时期的计算设备https://www.jianshu.com/p/4f69217a58f8

  4. 契克卡德计算钟——被遗忘的第一台机械计算器https://www.jianshu.com/p/c4cf468fc3de

  5. 百度百科:契克卡德https://baike.baidu.com/item/%E5%A5%91%E5%85%8B%E5%8D%A1%E5%BE%B7/6988809?fr=aladdin

  6. 百度百科:威廉·奥特雷德https://baike.baidu.com/item/%E5%A8%81%E5%BB%89%C2%B7%E5%A5%A5%E7%89%B9%E9%9B%B7%E5%BE%B7/18437978?fr=aladdin

  7. 帕斯卡算术机——数学天才的十余年匠心https://www.jianshu.com/p/4de1b635ae39

  8. 百度百科:布莱士·帕斯卡https://baike.baidu.com/item/%E5%B8%83%E8%8E%B1%E5%A3%AB%C2%B7%E5%B8%95%E6%96%AF%E5%8D%A1/8791342?fr=aladdin

  9. 百度百科:滚轮式加法器https://baike.baidu.com/item/%E6%BB%9A%E8%BD%AE%E5%BC%8F%E5%8A%A0%E6%B3%95%E5%99%A8/3957701?fr=aladdin

  10. 莱布尼茨步进计算器——不想当发明家的数学家不是好的哲学家https://www.jianshu.com/p/79e6eacaabc0

  11. 百度百科:戈特弗里德·威廉·莱布尼茨https://baike.baidu.com/item/%E6%88%88%E7%89%B9%E5%BC%97%E9%87%8C%E5%BE%B7%C2%B7%E5%A8%81%E5%BB%89%C2%B7%E8%8E%B1%E5%B8%83%E5%B0%BC%E8%8C%A8/5028927?fromtitle=%E8%8E%B1%E5%B8%83%E5%B0%BC%E8%8C%A8&fromid=417549&fr=aladdin

  12. 托马斯算术仪——商人懂技术,谁也挡不住https://www.jianshu.com/p/0f1bf73c21b1

  13. 巴贝奇:现代计算机真正的鼻祖https://www.jianshu.com/p/e171e4b48529

  14. 百度百科:查尔斯·巴贝奇https://baike.baidu.com/item/%E6%9F%A5%E5%B0%94%E6%96%AF%C2%B7%E5%B7%B4%E8%B4%9D%E5%A5%87/5466849?fr=aladdin

  15. 解开“艾达之谜”:关于第一位程序员你所不知的故事https://blog.csdn.net/u012396362/article/details/80121363

  16. Untangling the Tale of Ada Lovelacehttps://writings.stephenwolfram.com/2015/12/untangling-the-tale-of-ada-lovelace/

  17. 销轮计算器——走出阶梯轴的「笨拙」困境https://www.jianshu.com/p/096a8acb231a


拓展阅读:
迎接即将到来的“脱钩”,国产软件的战略准备:数据库篇 |  陶卓彬

背景简介:本文作者陶卓彬,毕业于解放军理工大学,曾在军队技术部门从事软件开发十余年,并多次获得军队科技进步奖。现在北京某大学校企从事教育开发工作。长期关注互联网、软件领域课题。本文于2020年5月13日年发表于微信公众号 跟陶叔学编程 一篇读罢头飞雪:计算机发展时间线(上),风云之声获授权转载。

责任编辑陈昕悦

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存