科驴助手

程式化计算机

可编程化是通用计算机的重要定义,意即只要变更指令的储存序列,通用计算机就能模拟其它形式的计算机。

1823年,英国数学家巴贝奇在政府的支持下,开始建造以蒸汽引擎驱动的差分机(Difference Engine),用来比较数字间的差异,经历10年未能竟功,巴贝奇遂转而研究设计得更为完整,直接利用打孔卡输入和储存资料的分析机(Analytical Engine),可惜最后巴贝奇穷其毕生精力都未能造出任一完整的差分机或分析机。

巴贝奇在1835年提到,分析机是一部一般用途的可编程化计算机,同样是以蒸汽引擎驱动,吸收提花织布机的优点,使用打孔卡输入资料,其中的重要创新是用齿轮模拟算盘的算珠3。他最初的计划是打算利用打孔卡控制机器进行运算,印出高精确度的对数表(特殊用途计算机),后来才转而开发一般用途的可编程化计算机。

尽管巴贝奇的设计健全,方向正确(至少是仅需部分修正),计划仍因各种大小问题而阻扰不断。一来巴贝奇难以共事,任何人不合其意便起争端,加上他的机器全是手工打造,上千个零件只要一个零件有一点小差错,就会引起重大错误,因此需要远超寻常的制造公差。英国政府也因差分机的经验,不愿继续资助如此先进的科技,于是资金告馨后,这项计划就在与技工的吵吵闹闹中告终。

英国著名诗人拜伦之女爱达曾经翻译意大利人所写的《分析机概论》一书,并加以注解,后来与巴贝奇发展出相当深的关系,她曾说:“分析机所织者,是代数的连续花纹”。后来爱达为分析机的打孔卡安排指令顺序,因此有人认为她是世界首位程式设计师,不过也有人不以为然,关于爱达的贡献在计算机科学上的重要性向有不少争论。

伦敦科学博物馆(London Science Museum)在1991年成功重建巴贝奇的差分机,其间只做过一些无关紧要的修改,差分机依照巴贝奇的原样设计运作,证明他的理论完全正确。馆方使用电脑操作机床建造重要零件,以达到机工时期的制造公差,也有人认为当时的技术无法制造出如此精确的零件,因此这样算是作弊,巴贝奇的失败不仅仅归因政治与财政,他无止尽开发越来越复杂先进的计算机也是主因之一。今日电脑界将这种不断为产品添加功能因而延误发表日期或为后续工作造成瓶颈的行为称作“蔓延危机”。

数学与计算机科学 · 相关知识