55

C++ 之父:从电饭煲到火箭,都在使用我创造的编程语言丨编程人物录

 4 years ago
source link: https://www.tuicool.com/articles/2QjEVvE
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Bjarne Stroustrup 是摩根士丹利信息技术部门董事总经理、哥伦比亚大学计算机科学系客座教授,美国国家工程学会会员,IEEE、ACM、CHM 资深会员。同时也是 C++ 之父。

贝尔实验室的过往

20 世纪 70 年代到 90 年代, 贝尔实验室 的计算机科学研究中心是世界上最伟大的实践计算机科学和理论的地方,没有之一。

Bjarne 即将从剑桥博士毕业的时候,给贝尔实验室打了个电话询问是否有工作机会。贝尔实验室当时并没有空缺的职位,但是欢迎 Bjarne 去展示自己的作品。最终,经过几天的展示和面试,他还是成功获得了一份贝尔实验室的工作。

Qf2uYny.jpg!web

贝尔实验室计算机科学研究中心

贝尔实验室自 1925 年建立以来就有着辉煌的历史,一共获得两万五千多项专利,荣获 8 次诺贝尔奖。贝尔实验室的计算机科学研究中心,聚集着一批计算机科学界的精英,这些人非常聪明、知识渊博而富有创造力,许多人也是非常好的倾听者,在开发新系统提出新想法方面非常有帮助,不管你想了解什么,你都可以在附近找到专家。

该中心位于默里山,拥有 1000 多名来自不同科学和工程领域的博士。研究人员被给予了很大的自由来选择要做什么,这比其他地方的情况要好得多,无论是过去还是现在。你所需要做的就是最终创造出一些伟大的东西。

也就是在这里,Bjarne 创造了著名的计算机编程语言——C++。

C++ 的那些事儿

当有人问起:有没有那么一瞬间,你觉得 C++ 可能会改变软件 / 硬件行业的游戏规则时。Bjarne 很坦率地说:没有,因为我一直在忙于开发并使用 C++。

但他也坦言,还是会有那么一两个比较接近的瞬间。比如说 1989 年,当 IBM惠普 的代表出现在贝尔实验室,坚持说“您真的应该在ANSI(美国国家标准学会)委员会上标准化 C++”时。再比如说,当 ACM(国际计算机学会)的编程语言历史协会建议他写一篇 C++ 的论文时。他才感知到了 C++ 对软件开发带来的不同,但即便如此,他表示自己仍旧低估了 C++ 的影响和它所支撑的编程技术。

mUFfyqu.jpg!web

当被问及,如果有时间机器可以让他回到最初创建 C++ 的时候,他最想改变的东西是什么?Bjarne 笑着说,现在的他不会比创建 C++ 时的那个他更了解那个时代,他做的任何改动可能都无法适应那个内存只有 1MB 的工作环境,也没法编译到早期的 640MB Windows 电脑上。

最令他感到惊讶的是,C++ 的应用范围之广:从电饭煲到太空火箭,放眼望去,汽车、电影、游戏、医药、金融、计算机、农业等等行业都有使用 C++。在他看来,C++ 在科学领域的应用是最令人满意的:人类基因组计划、欧洲核子研究中心和其他地方的基础物理研究还有火星探测器,C++ 都做出了贡献,无论这个贡献是微小的还是宏大的,给他的感觉都很好。

作为一门有着 30 多年历史的老牌语言,C++ 总会被问及一些尖锐的问题,都 9102 年了,还有必要学 C++ 吗?Bjarne 非常坦率地回答了这个问题,当然有必要。

C++ 是最有用的语言之一,Bjarne 认为这是最重要的一个原因之一。想要成为计算机界不管是工业界还是学术界的专业人士,只会一门编程语言通常都是不够的,对于需要性能和可靠性的工作,C++ 是一个很好的选择。

从另一个角度看,一个老牌语言经过这么多年的发展,远没有新兴语言那么大力度的市场营销,但 C++ 却在各个行业得到了充分的使用,这本身就说明了一些问题。

Bjarne 认为,学习 C++ 最好的原因是它可以让你深入了解各种编程和设计技术,这些技术适用于各种语言,一窍通百窍通。

给后辈的一些话

Bjarne 说, 编程 可以很有趣,但它并不全是有趣和游戏。他认为,我们的整个现代文明都是依赖于好的软件上的。在现在这个时代,不管你对什么感兴趣,文学、化学、历史、火箭、医学、农业、工业,编程都可以发挥它的作用。

年轻人可能最终将在某一个领域做出重大的贡献,但要做到这一点,他必须了解软件开发的领域、工具和技术。一定要学习基础知识,比如数据结构和机器是如何工作的。

面对技术的发展,不要不知所措,不要以为几周后你就能成为专家。想想学会说一门自然语言需要多长时间,成为一名优秀的运动员需要多长时间,学会演奏一种让你家人以外的人愿意听的乐器需要多长时间。

想想你在达到这种境界的过程中会有多少乐趣,你可能会交到多少朋友。一些最优秀的人都在学编程、使用软件。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK