竹笋

首页 » 问答 » 环境 » 那些爸气十足的编程语言之父,你知道几
TUhjnbcbe - 2023/3/25 19:17:00

编程语言的世界里,没有最好的语言,只有更合适的语言。

今天就带大家扒一扒编程语言及它们背后的开发者,希望可以站在巨人的肩膀上一睹各种编程语言的风采。

C语言之父

DennisRitchie提到丹尼斯·里奇(DennisRitchie),恐怕所有的ITgeek都不陌生。他的一生如同C语言一样,保持简单(Keepitsimplestupid)的原则。

计算机历史学家PaulE.Ceruzzi曾说过,里奇的名字一点都不家喻户晓。但是如果你有一台显微镜,能在电脑里看到他的作品,你会发现处处都是他的作品。

大学期间就读于哈佛大学物理专业的他,因一次偶然机会参加了学校组织的计算机讲座,从此便一发不可收拾,开启了计算机的狂热之旅。

凭借着对计算机的热爱,里奇毅然决然的放弃了物理学专业,将计算机作为他的事业。受父亲推荐后,他加入了贝尔实验室,参与第一个任务Multics系统的研发。这是一个前所未有的系统,由贝尔实验室、麻省理工学院和通用电气公司三方联合研制。由于设计过于复杂,贝尔实验室迟迟交不出成果,项目最终以失败告终。当时的里奇虽万分不甘,但也无能为力。

幸运的是没过多久,他的同事肯·汤普森(KenThompson)邀请他合伙做一个项目Unix的开发。同事专业是电子工程,而里奇的专业应用数学,两人正好互补,于是里奇爽快的答应了这个请求。

两人一起花了数月时间,提出各种方案并不断优化。吸取了上次研发的教训,里奇将本次设计原则定为Keepitsimplestupid。为了满足这点,多次试错的他最终将Unix由多个小程序组成。使这些程序像堆积木一样,可随意组合、且灵活度高。保持着这种初衷,Unix终于成功问世了。

喜爱钻研的里奇并没有满足于此,他决定要发明一种新的计算机语言进一步提高通用性和开发效率,因此便有了C语言的诞生。直到今天,C语言依然是世界上最重要的编程语言之一。

C++之父

Bjarnestroustrup比雅尼·斯特劳斯特鲁普(Bjarnestroustrup)的title有很多,最被我们熟知的要属C++之父。

在比雅尼成长的年代,计算机并非主流。凭借着对数学的热爱,他走上了计算机研究的道路。就像多数高中生一样,他在高中毕业时不知道以后要做什么。他查阅了很多资料,梦想过成为一名建筑师、历史学家、社会学家等,但最终他还是跟随自己的内心,选择了高中时期他最喜欢的学科数学。

事实证明,比雅尼的选择是正确的。在进入大学后他对计算机数学产生了更浓厚的兴趣。那时计算机并不普遍,大多被保管在专用的机房里。比雅尼凭借一腔热血和持之以恒的决心,成功打开了计算机程序语言的大门。

大学期间,本贾尼使用了几种当时主流的计算机程序语言,通过反复研究和测试,找到了这几种程序语言各自的优点和缺陷,并最终得出结论,即要开创一种灵活性和可拓展性兼备的高级程序语言。

博士毕业后的他,有幸在贝尔实验室的计算机科学研究中心得到一份工作。贝尔实验室聚集着一批计算机科学界的精英,在那儿,本贾尼压力山大,如果想在贝尔实验室找到归属感,就必须有拿得出手的成果。于是,本贾尼打算构建一套分布式系统。

但很快,他意识到自己实现不了。编程的语言分为高级语言和低级语言,可最初他并没有找准方向,导致没有一种语言能够兼顾需求。在这种局面之下,本贾尼决定来自己开发一套语言,因此便有了C++的诞生。

Java之父

Jamsesgosling詹姆斯·高斯林(JamesGosling)从小就喜欢技术,爱鼓捣各种小玩意。12岁时,他曾用将废旧的电话机和电视机的部件做了一台电子游戏机。14岁的时,他更是以以惊人的记忆力记住了大学计算中心的门锁密码,并偷偷溜进计算中心,学习计算机编程。

并也有的他加入了IBM,负责设计IBM第一代工作站。可当时,IBM的领导层并不看重这个项目,失望之余,高斯林跳槽到了Sun公司。

在Sun公司最初工作的五年时间里,高斯林自主领导并开发的SunNeWs窗口系统。尽管得到技术界的好评,却未能变成流行的产品。直至年,为了开拓数字家电趋势市场,Sun公司成立了一个软件设计团队,并由高斯林负责为设备和用户之间的交流创建一种能够实现网络交互的语言,命名为Oak,也就是早期Java的雏形语言。

好景不长,当时智能化家电的市场需求没有预期的高,高斯林的项目不得不被叫停。直到互联网不断的发展,Sun公司看见Oak在互联网上应用的前景,决定改造了Oak。年5月最终以Java的命名正式发布。

JavaScript之父

BrendanEich布兰登·艾克(BrendanEich)有着“简化版Java语言”设计师的称号。原因是在Java正火的时候,他被公司要求开发一款看上去与Java足够相似,但是比Java简单,非专业的网页作者也能很快上手的语言。

于是他硬着头皮,为了应付公司安排的任务,用10天时间就把Javascript设计出来了。由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript写出来的程序混乱不堪。

作为上手快、创建快、交付快的语言,在当今互联网环境下,Javascript成为一大语言,全世界有着几百万学习者。如果艾克预见到未来的这种趋势,当时的他会不会多花一点时间呢?

Python之父

GuidovanRossum吉多·范罗苏姆(GuidovonRossum)是位数学家,但他似乎更享受计算机带来的乐趣。用他的话说,尽管拥有数学和计算机双料资质,却总趋向于做计算机相关的工作,热衷于做任何和编程相关的活儿。

最早在CWI(数学与计算机科学国家研究所)工作的他,总是为了提高效率而苦恼。他希望有一种语言能够像C语言那样,全面调用计算机的功能接口。又能像shell那样,轻松的编程。于是他灵机一动,决定自己创造出这第三种语言。

ABC语言让范罗苏姆看到希望,ABC是由荷兰的CWI数学和计算机研究所开发的。当时范罗苏姆在CWI工作,并参与到ABC语言的开发,他将自己所知的一切语言设计知识都倾注在这个项目上。尽管已经具备了良好的可读性和易用性,但ABC语言最终还是没有流行起来。

年,为了寻找一门课余编程项目来打发圣诞节假期时间,范罗苏姆在办公室里为一个新的脚本语言写一个解释器,这也就是Python的诞生。最初的Python完全由范罗苏姆一人开发。得到同事的欢迎后,他们纷纷给出使用意见,并参与Python的改进。范罗苏姆和一些同事构成Python核心团队,在工作中使用Python,业余时间hackPython。

所谓酒香不怕巷子深,随着人工智能的发展,Python也越来越被大家所熟知。Lifeisshort,youneedPython的这种理念也深受大家的爱戴。

PHP之父

RasmusLerdorf拉斯姆斯·勒多夫(RasmusLerdorf)创造了PHP,起初是为了一己之私维护自己的网站。当时的PHP只是用Perl语言编写的一系列CGI脚本,用于跟踪在线简历的访问情况,统计自己网站的访问者。

勒多夫把这些CGI脚本命名为“PersonalHomePageTools”。这个早期的PHPTools并不是一门语言,只是一些工具,提供基本的变量,并使用嵌入式HTML句法自动处理表单变量。后来勒多夫又用C语言重写了这个程序,大大提升了其性能,可以连接数据库、计数,以及处理表单,这个时候的我们称之为PHP/FI。

年,勒多夫发布了PHP/FI2.0。由于勒多夫写的程序轻巧且简便,吸引了很多开发者。很快便有两个程序员小伙ZeevSuraski(泽埃夫·苏拉斯基)和AndiGutmans(安迪·古曼兹)盯上了他,加入到了PHP3的开发当中。

随着时代的不断变迁,PHP经历的多次升级。勒多夫曾说过,比起计算机科学家的称号,工程师更符合他。这这两者的区别在于,后者更专注于解决眼前的问题。之所以开发PHP,并非因为喜爱编程或语言设计,反倒是因为不喜欢。年的那套编程把式,让他没法轻松迅捷地解决Web问题。当遇到问题,他则会翻书查阅资料来充实自己。技能不是为了提高而提高,而是每一个决定都是以解决问题为中心的。

最后

InTheEnd正是因为编程之父的逻辑细致、心思缜密,才能让我们后代站在巨人的肩膀上砥砺前行。

1
查看完整版本: 那些爸气十足的编程语言之父,你知道几