创造了程序语言的女学霸,生前定义程序bug,死后引发千年虫危机

如果你觉得好的话,不妨分享到朋友圈。

来源:科学网 作者:张磊

计算机刚出现的1947年,一位女程序员所用的电脑发生了故障。经排查后发现,原来是某个继电器内飞进了一只蛾子,导致了整个计算机无法运作。眼疾手快的她便用镊子小心地将飞蛾夹出,并把它贴在记录本中标上“First actual case of bug being found”。

对,就是这只小虫而她对bug的诡异称呼,后来竟变成了计算机行业的专业术语。而除虫“debug”也成了排除程序故障的代名词。这位发明世界上第一个“bug”的女程序员,其实就是IT界的祖师娘格蕾丝·赫柏。

她是耶鲁大学第一位数学女博士,世界上第三位程序员,与图灵、乔布斯和盖茨等一同被评为“IT界十大最有远见的人才”。

格蕾丝·赫柏从小就是个不折不扣的假小子,经常带着弟弟妹妹上蹦下窜,爬树、游泳、划船。多亏了母亲的正确教导,格蕾丝才把自己的好奇心使对了地方。母亲虽是家庭主妇,但是却对数学特别感兴趣,是位业余数学家。所以在母亲的指导下,格蕾丝的数学和物理等工科成绩都异常出色。考进大学后,她便一路开挂地同时获得数学、物理双学位和美国优等生的荣誉。当时才本科毕业的格蕾丝,就已被母校留任聘为教师。

1934年,她也成了耶鲁大学历史上第一位数学女博士。据统计,1862年到1934年间,全美总共才发出了1279个数学博士学位,平均每年不到18个。而且在那个年代的大环境下,以女性身份获得耶鲁数学博士学位的格蕾丝完全可以用不可思议来形容。之后,她也将生活重心转向教学。

差不多40岁的格蕾丝,都还未曾与计算机有过联系。不过二战的打响,也成了格蕾丝人生最重要的转折。珍珠港事件后,她就铁了心要加入美国海军为国家出力。在最后的考试中,她更是以第一名的成绩完虐跟她同批的学员,让所有人都刮目相看。

霍华德·艾肯与他的第一台计算机

格蕾丝之后也被派到了哈佛大学,有幸成为霍华德·艾肯教授(Howard Aiken)的助手。霍华德·艾肯是世界上第一台数字计算机Mark-Ⅰ的总设计师及制造者。这个重达4吨的庞然大物也被誉为“现代电脑时代的开端”。

格蕾丝坐在艾肯教授(前排中间)旁边,后面是Mark计算机

在这之前,已有两位男性在Mark-Ⅰ上写过程序。格蕾丝也成了世界上第一台计算机上的第三位程序员(虽然程序员这个称呼是在多年以后才出现)

不过一开始,这台MARK-Ⅰ可没少把格蕾丝搞疯。

当时这个大家伙虽然能被用于计算火箭弹道、低空爆炸信管和地雷等的破解方法,以及解决一系列工程的数学问题。但是其本身却远没有现代的计算机那么“智能”,都需要格蕾丝手把手教(编程)它才会计算。如果说艾肯赋予了MARK-Ⅰ生命,那么格蕾丝的程序则像给机器带来思维一样,让它能真正地“动起来”。

然而刚接触计算机的格蕾丝也几乎等同一张白纸。

所以她需要沿着艾肯制造MARK-Ⅰ的思路,首先将计算机中每一个复杂而精细的硬件了解个透彻,才能运用自己的数学才能编写程序。这几乎等同于先学会造电脑,才有机会学编程。所以在刚到哈佛的那段时间,格蕾丝每天都会抓住电机维修工程师好“偷师学艺”。

重达4吨的Mark-Ⅰ

就是因为对机器十分熟悉,才使她能在故障的电脑中很快地找到那只“bug”(小飞蛾)。当时MARK可是包含3500个继电器、2300个存储计数器和成千上万条后面布线的继电器终端。

Mark-Ⅰ背后复杂的布线

在计算机诞生伊始,所有的程序员编程都只能用机器语言,没有任何组合语言及程序语言的存在。所谓机器语言,简单来说就是机器硬件本身能够识别的语言,只有0和1。所以那时的程序员都要以“0111001011”的机器码形式,先在纸上打孔,再送到机器里读取。

老式的打孔纸带

在帮Mark系列计算机编程时,格蕾丝就已经感受到被机器语言支配的恐惧。

所以她才想设计一种程序,能让大家直接用人类看得懂的语言编程,然后这个程序便能把语言翻译成机器码,交给电脑执行。这就是我们现在说的编译器(Compiler)的原理。

只是在那个年代,大家都对她的这个“想法”表示怀疑。

因为在所有人眼里计算机就像计算器一样,只能处理数字,是看不懂人类语言的。即使得不到认可,格蕾丝还是头脑清晰地决定将想法变成行动,到处演讲筹集资金。因为她认为,编程就应该是高水平的脑力劳动,只有不断地将繁杂的工作交给电脑完成,才能提高人类脑力的应用。

1952年,她就率先设计出了世界上第一个编译程序A-0。

为了向大家证明计算机也能看得懂人类的语言。格蕾丝还特意开发了三个版本,包括英文、德文、法文语版,甩当初不看好自己的人一脸。之后她再用了5年时间,从这第一个编译器发展到一整套完整的程序语言FLOW-MATIC。这也是世界上第一个运用词语的计算机语言。从那以后,编程工作才确定了往化繁为简的方向进发。如果没有格蕾丝,对着满屏的0和1,程序员的秃头率或许还要更高。

从FLOW语言中看到了未来,美国政府立马就给了格蕾丝一个新的任务。就在FLOW语言面世后的第二年,格蕾丝带领着团队又成功地研制出了第一个商用编程语言COBOL。它被公认的优点便是是语法和英语十分接近,可以让不懂电脑的人也能看懂程序。

格蕾丝也被称为COBOL之母

即使是2000年出现了史上最大的bug“千年虫”*,也未能撼动COBOL的地位。*注:“千年虫”,是因为50年代计算机存储空间非常有限,为了节省内存格蕾丝只采用了6位数来表示日期,如DD/MM/YY表示日、月、年。但是从20世纪进入21世纪的2000年,系统就无法识别YY(00)表示的是1900还是2000,所以计算机里的时间全乱了套,对世界的影响巨大,也称千年虫问题,缩写“Y2K”。据计算机世界(Computerworld)统计,“千年虫事件”后的2006年到2012年仍有超过60%的企业用COBOL处理数据。

甚至还有人预测说,即使到了下个世纪,COBOL仍有可能在老骥伏枥。所以在IT界也有个笑话,一个COBOL程序员因解决了千年虫问题挣了大钱,以至于他可以用钱将自己冷冻起来。未来的一天他突然被人复活,睁开眼一瞬间他就被告知:“现在是9999年,而你懂COBOL语言”。

到了1966年,格蕾丝也到了60岁该退休了。由于海军还是有大量无法处理的工程管理程序亟待解决。于是格蕾丝才刚休息了半年,就又被紧急地召回,为了使格蕾丝能名正言顺地回来,军方还特意修改了原来的规章,将退休年龄延长至65岁。

2016年格蕾丝被追授总统自由勋章

而原本只打算留5年的格蕾丝,也因工程需要在岗位上一待就是20年。这期间她的军衔也一路被提升,1985年她也达到了女性罕见的成就,成为海军少将。

格蕾丝号

为了表彰她这么多年来的贡献,美国海军将一艘驱逐舰命名为“格蕾丝号”和将加利福尼亚海军数据处理中心改名为“赫柏服务中心”。到了1986年,格蕾丝才以80岁高龄从海军中光荣退休。

在欢送会上,格蕾丝非常自豪地说。“当初我40岁时就被告诉你太老了不能参军,但是身上这套制服我一穿上就又是一个40年”。

原文发布于微信公众号 - IT派(it_pai)

原文发表时间:2017-10-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏VRPinea

520处处都在秀恩爱!VR来拯救陷落人群中的单身汪

310100
来自专栏AI科技大本营的专栏

下围棋的AlphaGo已成绝响,上战场的机器人方显身手

人类在下围棋上彻底被AlphaGo碾压。 5月27日,人机对战第三局,柯洁又一次告败。赛前,柯洁说,这是他最后一次与机器的对决。 棋圣聂卫平坦言,阿老师(Alp...

384110
来自专栏Java架构师进阶

大师带你开悟高薪程序员之路——《编程之道》番外篇

程序员见禅师:我学了 hello world 和水仙花数,想自己开发个操作系统,希望大师指点。

10520
来自专栏理论坞

全球设计巅峰,75 款 iF 金奖作品揭晓,苹果成最大赢家

当地时间 3 月 10 日晚 8 点,全球颇具权威性的「iF 设计奖」在德国慕尼黑宝马世界举办了「设计师之夜」,并在现场揭晓了今年的 75 件 iF 设计奖金奖...

11020
来自专栏腾讯技术工程官方号的专栏

【腾讯圣诞晚会TEG节目】这里的黎明静悄悄

2018腾讯圣诞晚会·全新出发 ? 梦里好成功 如果你什么都没有,至少得有点想象力。 我们今年的男主角郝成功,就是一直生活在想象的美好中。他每天乘坐价值上亿的...

18140
来自专栏机器人网

我经历的2015 DARPA机器人挑战赛

---- 2015年的6月5日,位于洛杉矶东部的小城Ponoma迎来了来自世界各地的机器人专家、爱好者、大批的亲子团和扛着长qiang短炮的媒体记者们,他们都...

35950
来自专栏Sign

游戏之外的道理

https://www.sekai.co/trust/ 最近玩到一款讲了大道理的小游戏,『信任的进化』。阅读原文可以进行游戏,不过加载时间有点长,而且微信还屏蔽...

34770
来自专栏程序员互动联盟

学历是铜牌,能力是银牌,人脉是金牌,思维是王牌

正如"打工皇帝"唐骏说:"我觉得有两种人不要跟别人争利益和价值回报。第一种人就是刚刚进入企业的人,头5年千万不要说你能不能多给我一点儿工资,最重要的是能...

36580
来自专栏Winter漫聊技术

Winter漫聊手机——开篇

所谓漫聊,即无忧虑地聊,且不局限。因而,虽说是聊手机,但Winter也会附带性地聊点电脑、相机、VR及厂商等。时间顺序总是最适合懒人的,那就从2011年聊起吧。

15630
来自专栏大数据文摘

业界 | 除了获奖的苹果Home-pod,过去35年还有哪些精彩的科技广告?

上周,AICP(Association of Independent Commercial Producers) 宣布了年度最佳视频营销奖。获奖的是苹果公司的短...

12500

扫码关注云+社区

领取腾讯云代金券