开发语言小传之零:第一个写程序的人

   大家知道,第一次工业大革命开始于纺纱、织布机的发明应用。而现代计算机的发明,也跟织布有关系。虽然在第一次工业革命后,布匹可以用机器大规模织出来了,但如果要织出复杂图案,还是只能依赖于人工操作提花织布机。而杰拉德在19世纪初,推广了他改进的提花织布机。他的做法是通过穿孔纸卡预先设定好操作步骤,让机器根据纸孔有无来提起、放下某根特定的经线,实现自动织出花布来。杰拉德改进的织布机被称为杰拉德提花织布机,很快在西方世界得到推广应用。

  受到杰拉德提花织布机的启发,被称为“现代计算机之父”的英国科学家巴贝奇于1819年设计了“差分机”,并在1822年制造出制造出模型,可以处理3个不同的5位数,计算精度达到了6位小数。受此鼓舞,英国政府出资资助他动手设计、制造计算精度达20位的大型差分机。但是在花费了20年和3万多英镑(在当年绝对是巨款了)之后,巴贝奇只得放弃制造这个机器。

  1842年,英国政府放弃资助他,他本人成为科学界的笑柄,研制差分机又几乎花光了他所有的钱——在他人生最低谷的时候,一个27岁的伯爵夫人——阿达·奥古斯塔(AdaAugusta) 来到了他身边,和他一起并肩工作。巴贝奇没有放弃他的梦想,他甚至提升了梦想,要研制一台通用计算机——他管它叫“分析机”。他希望这个新机器能够做复杂的计算,有类似于现代计算机的输入、输出、运算器、控制器、存储器的五大结构。

 

  而阿达则负责为这台未来机器编程,她认为“分析机‘编织’的代数模式同杰卡德织布机编织的花叶完全一样”。阿达开天辟地第一次为计算机编出了程序,其中包括计算三角函数的程序、级数相乘程序、伯努利函数程序等等。她写信告诉巴贝奇,她为计算“伯努利数”写作了一份规划。以现在的观点看,阿达首先为计算拟定了“算法”,然后写作了一份“程序设计流程图”,然后是“程序”。她建立了循环和子程序概念,她被公认为第一位给计算机写程序的人。1843年发表的一篇论文里,阿达认为机器今后有可能被用来创作复杂的音乐、制图等,这不仅在当时确是十分大胆的预见,即使在电子计算机时代早期,也是不可思议的。要知道,IBM的创始人老沃森,曾经预测全球只需要5台电脑,比尔·盖茨在上世纪90年代曾预测个人电脑只需要500M硬盘就足够了,而阿达的预见是在当时巴贝奇计划用蒸气机作为分析机动力的年代!

  阿达当时已经是3个孩子的母亲了,她出身显贵,身为伯爵夫人,却跟巴贝奇这个名誉扫地、又没什么钱的家伙一起搞研究。以至于为了筹措经费,他们制作什么国际象棋玩具,什么赛马游戏机等等来赚钱。阿达甚至两次把丈夫家里的祖传珠宝送进当铺,最后还要她母亲给赎回来。1852年,怀着对分析机成功的美好梦想,阿达病逝,死时年仅36岁。

  阿达去世后,巴贝奇又默默地独自坚持了近20年。 1871年,巴贝奇去世了,至死,他的分析机还是没有制造出来。他的研究资料被保存于英国皇家博物馆。1991年,为了纪念巴贝奇200周年诞辰,英国肯圣顿(Kensington)科学博物馆根据这些图纸重新建造了一台分析机。复制过程中,只发现图纸存在着几处小的错误。复制者特地采用18世纪中期的技术设备来制作,不仅成功地造出了机器,而且可以正常运转。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值