作者 | 年素清
责编 | 伍杏玲
出品 | 程序人生(ID:coder_life)
上世纪五十年代,程序员使用的是 0/1 机器语言写代码,费时费力。如何进化到如今只需轻松高效地输入字符组成不同的编程语言编程呢?这背后离不开“学渣”约翰·巴克斯(JohnWarnerBackus)。
被退学的富二代
1924年,巴克斯出生在美国宾夕法尼亚州费城,父亲是阿特拉斯火药公司的化学工程师,后来转行做了证券经纪人,所以巴斯克从小生活条件优越,是不折不扣的富二代。
巴克斯中学时就读于当地非常有名望的希尔学校,但巴克斯并不喜欢读书,学习成绩一塌糊涂,他最盼望的事是暑假到新罕布什尔州的暑期学校,在那里划船、嬉戏。父亲只好给他另外花钱补课,最后拖了两年才勉强毕业。
1942年,巴克斯迫于父亲的压力进入弗吉尼亚大学攻读化学。不久后,第二次世界大战爆发,向来不爱学习的巴克斯找到了躲避学习的借口——征召入伍。他往返于各种舞会之间,每周只去上一节轻松的音乐欣赏课,最终被学校劝退。
幡然醒悟爱上数学
1943年,巴克斯入伍在乔治亚州服役。在一次能力测试中,巴斯克因为显露出来的聪明和机智受到了上级赏识,陆军部队决定送他上学深造。
当巴斯克的战友们被送往战火纷飞的前线时,巴克斯却进入哈弗福德学院的医学院预科读书。然而巴克斯对医学不感兴趣,也不喜欢身边的同学,他觉得他们只会死读书不会主动思考,加上期间被诊断出患有脑部肿瘤,九个月后,巴斯克主动退了学。
为了接受手术治疗,巴斯克搬到纽约市。考虑到将来的谋生手段,巴斯克打算做一名无线电技术员,他在训练过程中对数学产生了浓厚的兴趣,于是便在哥伦比亚大学修读数学学位。
经过这段时间的磨砺,巴克斯不再懒散厌学,他开始用心读书,最后于1949年获得硕士学历。
不知疲倦的发明家
毕业后,巴斯克对于未来没有明确规划。一次偶然的机会,巴斯克到 IBM 的计算中心参观,被那里的 SSEC 计算机所吸引,他第二天便向IBM的领导提出求职申请,并顺利通过入职测试,于1950年成为IBM正式员工。
进入IBM后,巴克斯全身心地工作。很快迎来了第一个挑战——月历计算。由于月历需要给出一年中任一时刻月亮所处的精确位置坐标,所以这个项目十分复杂,巴斯克最后完成了任务,身边的同事们对他刮目相看。
巴克斯发现当时的计算机没有浮点运算部件,但许多科学与工程计算问题不可避免地要处理非常大或非常小的数,基于冯•诺伊曼(Von Neumann)提出的比例因子并不能彻底解决这个问题。于是, 巴斯克和同事海尔里克(H.Herrick)苦心专研,最后开发出了一款针对浮点数运算的软件“Speedcoding”。
月历和Speedcoding充分展示了巴克斯在编程方面的才能,奠定了他在IBM的地位,同事们戏称他为“不知疲倦的发明家”。
开发编程语言
在IBM工作几年后,巴克斯对机械式的程式设计感到厌烦。因为当时编程需要机器语言,这种方式不仅效率低下,也难于检查和发现问题。
1953年, 巴克斯向IBM的董事长卡斯伯特•赫德(Cuthbert Hurd)提交了一个备忘录,建议设计一种接近人类语言的编程语言代替机器语言,从根本上提高编程效率。
然而,巴克斯的建议遭到当时的IBM顾问诺伊曼的强烈反对,他认为这样的建议完全没有必要,并且不切实际。但开明的赫德顶住了来自作为当时计算机领域专家的诺依曼的压力,对巴克斯的建议给予支持。
巴克斯成立了13个人的开发团队,巴克斯挑选这13人时并不看重他们的编程经历,而是看重他们解决问题的能力。他们来自各行各业,既有麻省理工的研究员、国际象棋棋手,也有航空公司的普通员工。
在开发过程中,团队集中解决两个问题,一是如何让人类更便捷地进行编程,二是如何构建底层代码。尽管这期间经历过多次失败,但巴克斯说:“创新就是一个不断反复试验的过程”,“你需要做好一直失败的打算,即使屡次失败你还是要不断产生新的想法,这个过程会一直重复下去,直到有一天它会成功。”
高级语言之父
巴克斯和团队耗费了近4年的心血,最终于1957年4月推出全世界第一套高阶电脑语言Fortran语言,首次在IBM704计算机上面运行成功,这个消息轰动一时。
Fortran诞生具有划时代的意义,它标志着机器语言编程时代的结束,取而代之的是高级语言编程时代的开始。
一年后,在苏黎世举行的国际性计算机会议决定成立一个委员会,以Fortran语言为基础,进一步改进成一种高标准的计算机高级程序设计语言。
该委员会吸纳了许多著名的计算机科学家,Algol语言便是他们齐心研究的成果。巴克斯也在其中,他为Algol融入了一些新概念和新功能,如局部变量、递归等。
同时,巴克斯也在不遗余力地改进Fortran语言。1958年,巴克斯及团队推出FORTRANⅡ,几年后又推出的FORTRANⅢ,1962年推出FORTRANⅣ。巴克斯和他的Fortran获得了业界的普遍认可,人们称他为“高级语言之父”。
“我不喜欢写程序”
因为Fortran语言的巨大成功,巴克斯在1977年获得图灵奖,会上他发表了题为“程序设计能从冯伊曼形式中解脱出来吗?函数式风格及其程序的代数”的演说。
1979年,巴克斯在接受杂志《Think》采访时风趣地说他大部分的软件开发最初的缘由都是因为自己的懒惰。“我不喜欢写程序,所以当时在INM701工作,为计算导弹弹道编写程序,我就开始琢磨开发一个编程系统,可以让编写程序变得简单些。于是,Fortran应运而生。”
1991年,巴克斯离开了他热爱的编程事业,正式退休。
1994年,美国工程院授予他美国工程学界最高奖项之一的CharlesStarkDraper奖。
2007年3月17日,巴克斯在美国俄勒冈州的家中去世,享年82岁。
回顾巴克斯的这一生,自小过着富二代的生活,学业荒废,不思进取,当过兵、学过医,大学读的是化学和数学,但最后却被计算机和编程所吸引而投身其中,发明的Fortran语言改变了人们编程的方式,成为计算机界的一代宗师。
参考链接:
https://baike.baidu.com/item/约翰·巴克斯/3510474?fr=aladdin
http://www.chinanews.com/it/2019/03-27/8792112.shtml
#欢迎来留言#
对此,你怎么看?
程序人生携手【北京大学出版社】送出
《Python数据分析与可视化 从入门到精通》一本
截至9月7日14:00点
点分享
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved