历史上第一个计算机程序是谁写的?比尔-盖茨?乔布斯?图灵?爱因斯坦?诸葛亮?
都不是。
写出第一个计算机程序的人是这位:
说明一下。她这不是在参加化妆舞会,也不是个性出格打扮古怪。她穿的这身,是当时的标准服饰,因为她写那个程序段子是1842年的事。
她的名字叫艾达-拉弗雷斯。如果这个名字您听着不熟,她爸爸的名字您可能听说过。她爸爸叫拜伦。就是那个大名鼎鼎的英国诗人拜伦。
不过艾达成为计算机编程先驱跟拜伦可以说没啥关系。拜伦对艾达的唯一贡献就是给予了她生命。对艾达的教育,拜伦没有给过任何帮助。艾达才一个月大的时候,拜伦的太太安娜贝拉就带着艾达离开了拜伦。分手的原因,一是因为拜伦跟以前一样,每个女人追到手了就失去兴趣变得冷漠。二是因为她受不了拜伦跟他同父异母姐姐的乱伦传闻。
有意思的是,咱天朝的官方出版物里,有些文章是把拜伦作为伟大的革命英雄来描写的。这个可能是因为拜伦有强烈的叛逆倾向。而贵族出身的他,要叛逆,当然就是跟自己的阵营,也就是贵族阵营过不去。这个很让咱的御用历史学家喜欢。他们根据这一点把拜伦的阶级成分划定为“代表劳动人民跟统治阶级做斗争的英雄”,于是拜伦成为红色天朝时期最早获得御用文人赞美的少数西方文人之一。而且根据我朝传统,一个人如果定位为好人,就必须好得很完美,于是在御用文人笔下,拜伦不仅写诗一流,更有高尚的革命情操,连个人感情生活都是无懈可击的。他太太跟他分手,那当然就是他太太自绝于革命英雄的恶劣行为。
不过,别的历史学家有不同的看法。从关于拜伦个人生活的历史文献看,拜伦之所以这么起劲的跟社会对着干,其实跟革命或是马克思没啥关系。他的反社会性格,更可能跟他才高八斗可是先天有残疾(右脚畸形)有关。身体残疾产生的“天何待我如此不公”的愤懑,坐落在他极度敏感的诗人心灵上,就很容易生长出叛逆性格。加上他祖上,从爷爷到父亲,都是性生活凌乱加上欠了赌债就遁走他乡逃避债主的角儿。看着这种榜样长大,他多半就没觉得社会道德规范有什么需要尊重的。所以他从24岁开始,到他36岁病死他乡,基本上每两年他就要换一个女人。每次都是他顶着冷脸奋力追求,一旦追到之后就兴趣转移再寻找下一个“真爱”。
安娜贝拉自己经历了拜伦这种浪漫诗人的狂乱,因此立下决心,决不能让独生女艾达沾染任何文人恶习。为了做到这一点,安娜贝拉认为应该让艾达远离文科学习理科。碰巧,安娜贝拉自己有很高的数学天赋,而她的这份基因似乎成功的传给了艾达。因为艾达的数学老师对她的评价颇高。安娜贝拉给艾达请来的数学老师都是有国际知名度的数学界名人,其中包括奥古斯都-德-摩根(您如果是学电脑的,想必知道摩根定律。对。就是这个摩根)。摩根教导艾达一段时间之后,在给安娜贝拉的信里说道:“艾达的数学才华足可成为自成一家的数学分析家,而且有可能成为一流水平的分析家。”
艾达跟电脑发生瓜葛是因为英国数学家巴比奇的分析机。
分析机实际上就是雏形阶段的电脑。电脑本来叫做计算机。后来因为这东西能干的事太多,远远不止是计算了,所以中国人就给它起了个形象的名字叫电脑(英语里仍然是叫计算机)。巴比奇的分析机,还没有今天的电脑这种打字绘图上网炒股的功能。它老老实实就是用来算数字公式的,所以这是个不打折的“计算机”。
而且它不能叫做电子计算机。因为那时还没有电子技术。这个分析机,按设计是要用蒸汽机提供动力。
艾达对这分析机产生了极大兴趣。为了研究这个分析机,她多次造访巴比奇,两人成为好友。由于分析机在当时是尖端科技,所以有个意大利数学家叫米那比亚的专门写了一篇文章来介绍这个分析机。这篇文章写得很好,于是艾达决定反向引进,把这篇文章翻译成英文,就是分析机的祖国的文字。艾达因为自己就对分析机极有兴趣,所以翻译的时候做了大量注解,结果她的注解内容比原文还多。
不过让她成为电脑历史佳话的不是文字多少,而是内容。因为她在注解里写了一段讲述怎么实际运用这个分析机来解题的做法。这个做法,后来被认为是第一个可以叫做电脑程序的东西。
电脑毕竟跟人脑不一样。电脑只能理解几个简单机械的指令。现在的电脑能做这么多事,是因为它执行指令是以光速运行,所以一秒钟能执行上千万个指令。但首先它要知道要执行的是什么指令。
这些指令就叫做电脑程序。
比如你如果想用电脑软件画一个边长是 2 格的正方形,你就要指挥电脑做这几个动作:向右走两格(画出上边),向下走两格(画出右边),向左走两格(画出下边),向上走两格(画出左边)。
这个就是一段电脑程序。
当时巴比奇的分析机只是个书面设计,根本没有实物,因为这个设计太超前了,当时的技术水平做不出实物。正因为这样,这个抽象设计才很难理解,所以米那比亚才需要专门写文章来帮助大家理解。
也因为没有实物,没有真正运行过,所以谁都没有试图给这个分析机设计实际运行的步骤,也就是谁都没给它写过运行程序。那时候就没有人知道什么叫编程序。艾达也不知道。她其实就是在给这个文章做注解的时候,弄明白了机器的运行原理,于是就写了一段具体使用方式(就是后来大家叫做程序的那段指令),本意就是用这个来帮助说明机器的运行原理。现在大家说艾达是第一个编写计算机程序的人,实际上是一种事后的追认。艾达当时并没有意识到自己做的这件事后来会被叫做编程,也没有意识到150年之后,编程这行当养活了地球上一千多万人,还让上百万印度人和中国人靠这门手艺移民到美国去忍受资本家的剥削。
因为这分析机太超前,所以艾达的这段程序当时没有能实际运行。实际上艾达有生之年里这分析机一直没能造出来。巴比奇尽当时条件允许,造出了下面的样机,但这个机器没能真正运行:
看着很笨拙。不过别忘了那时是1842年的设计。那时候很多国家还不知道什么叫做“机器”。所以咱没必要笑话这个机器。
顺便说一下,艾达不仅是给这个分析机写了个程序。在注解里她还预言这种分析机以后功能会更完善,不仅能做数字计算,还有可能做更复杂的操作,比如能给一些指导(也就是我们现在说的编程)之后让分析机自己作曲。
您别小看了这个预言。今天我们知道电脑能做的事比这多得多。但是在那个年代能预见到这一点,几乎就像古埃及人发现用铜片和锌片插进柠檬里会产生让舌头发麻的电流之后,有人说以后说不定可以把这东西接在一根什么宝物上,于是让这宝物发光。
如果古埃及人说这种话,可以说是预言了电灯。而艾达的预言,跟咱这个虚构的电灯预言,跳跃程度可以说是一样的大。
1852年艾达患了宫颈癌。癌症本来就没有什么治疗办法。偏偏那时候现代医学还没出现,欧洲人仍然在使用古代产生的”传统医学“技术,也就是放血疗法。这种愚昧的”治疗“技术没有救活艾达,倒可能让她提早几个月死亡。
艾达死的时候36岁,跟她爸爸拜伦死的时候年龄相同。
命运?
安娜贝拉毕生努力让艾达憎恨拜伦,但先天的血缘关系还是战胜了安娜贝拉的后天灌输。虽然艾达从来没有见过父亲(一个月大就离开父亲,8岁的时候拜伦去世),她临死前几年对父亲的敬意却与日俱增。弥留之际,艾达留下遗嘱,要求葬在英国诺丁汉的圣玛丽-南丁格尔教堂,跟她父亲的墓地相邻。
看着很简陋是吧?这个是有原因的。本来拜伦的诗才是国家级甚至是世界级的。这样的人物,在英国,死后足可安葬在威斯敏斯特大教堂。可是因为他那些丑闻,威斯敏斯特教堂以”成问题的道德生活“为由拒绝了拜伦。结果拜伦就被安葬在这个瑟缩的角落里了。
但是艾达不介意。她只希望死后能跟父亲靠近一点。