先认识几个人1---巴贝奇和阿达
巴贝奇和他的分析机
查尔斯.巴贝奇巴贝奇出生于1791年,卒于1860年。作为一个银行家的儿子,却在机械方面及其有天赋。之所以今天先提到巴贝奇,是因为我们后来所熟知的计算机如果不是因为当时制造条件限制,我们的计算机问世恐怕得提前一个多世纪。
巴贝奇的分析机构思了一种齿轮式的“存贮库”,每一齿轮可贮存10个数,总共能够储存1000个50位数。分析机的第二个部件是所谓“运算室”,其基本原理与帕斯卡的转轮相似,但他改进了进位装置,使得50位数加50位数的运算可完成于一次转轮之中。此外,巴贝奇也构思了送入和取出数据的机构、以及在“存储库”和“运算室”之间运输数据的部件。他甚至还考虑到如何使这台机器处理依条件转移的动作。
很遗憾的是巴贝奇虽然设想非常接近百多年以后的真正计算机,非常可惜的是当时的工艺条件实在无法承载他那颗富有创造性的大脑。如果不是这样,估计现在我们周围机器人已经和常人正常交流了。
阿达
阿达提到巴贝奇的分析机,就不得不提到阿达。阿达的全名为:奥古斯塔·阿达·拜伦·金,后来更多的称她为勒芙蕾丝伯爵夫人。她生于1815年,英国诗人拜伦之女。阿达从小受其母亲影响,数学天赋非常高。
某年的冬天,阿达迷上了一种称之为“单人跳”的智力游戏。这种游戏在一块有三十三个洞的棋盘上摆上三十二枚棋子。其规则很简单:任何一枚棋子都可以跳过与之近邻的棋子,被跳过的那枚棋子会从棋盘上移出,直到无子可跳为止。游戏的目标是到最后只留下一枚棋子。阿达通过尝试和观察,将这个游戏整个解决过程跟数字和几何属性联系起来,纳入一个类似数学公式当中,即为游戏寻求一种形式化的解法。
她借助巴贝奇的这台假想的分析机设计了解决计算一一个众所周知高难度的无穷数列:伯努利数。她为此设计了一个过程、一组规则和一系列运算。在一个世纪之后,这被称之为“程序”。阿达将计算伯努利数的过程设计为递归、循环的。因此,阿达被称为计算机程序创始人,建立了循环和子程序概念。
从阿达的身世我们可以看出:当文学男遇到数学女,他们的后代可以做绝对优秀的程序员。
(下一篇将给大家讲讲图灵、香农以及冯诺依曼,人物部分大概就讲这几位。之所以讲这些,是为了告诉大家:计算机的硬件发展和软件发展并不是某一个或几个天才突然有的想法,也是一代代积累下来的。后面三位学计算机的耳熟能详,但是今天介绍的这两位却不一定能想起来。貌似跟操作系统没啥关系,其实不然。操作系统是什么?概念中重要的一点就是管理硬件和软件资源的软件。)