QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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

  • 2019-10-30
  • 本文字数:1683 字

    阅读完需:约 6 分钟

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

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

贝尔实验室的过往

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


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



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


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


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


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

C++的那些事儿

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


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



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


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


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


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


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


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

给后辈的一些话

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


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


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


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


2019-10-30 14:475104
用户头像
小智 让所有人认同的文字称不上表达

发布了 408 篇内容, 共 391.8 次阅读, 收获喜欢 1983 次。

关注

评论

发布
暂无评论
发现更多内容

首个数字银行卡明年发行,广州出台区块链措施支持大湾区

CECBC

区块链 金融科技 社会

java安全编码指南之:声明和初始化

程序那些事

安全编码 java安全编码 编码指南 对象初始化

2020-09-03-第十三周作业

路易斯李李李

妈妈,今天您几点下班?

脑极体

智能商业时代的思考(一)从在线化到网络化

刘旭东

拼多多 淘宝 智能商业 网络协同

Elasticsearch之mapping

北漂码农有话说

为稳外贸保驾护航 区块链交易平台显身手

CECBC

区块链 银行 福费廷

一个在交流群里讨论过两轮的问题,答案竟然跟一个 PEP 有关

Python猫

Python 编程

[翻译]Defer,Panic,and Recover

卓丁

defer panic recover Go 语言

区块链技术破解数字版权保护难题

CECBC

区块链 版权保护 数字技术

区块链技术应用于链接智慧医疗

CECBC

区块链 社会保险 智能医疗

oeasy教您玩转linux010206toilet

o

人生革命由自律发起

胡迪伦

自学编程 拖延症 懒惰 死循环

为什么Java二维数组不用指定列的长度

Rayjun

Java 数组

宁波新基建之路 基于制造优势破题智慧发展

CECBC

新基建

怎么向女朋友解释什么叫区块链?

艾小仙

比特币 区块链 以太坊 defi

持续集成有什么好处?快来看鸭

清菡软件测试

jenkins

商业通识 : 商业到底是什么?

Walker

学习 得到 个人成长 商业

JavaScript 深拷贝与浅拷贝

梁凤波

职场求生攻略答疑篇之 3 —— 数据是土地

臧萌

数据 职场成长

SpringBoot 缓存之常用注解

hepingfly

Java 缓存 springboot 注解

Google鼓励的13条代码审查标准 [建议收藏]

简爱W

Python 为什么没有 void 关键字?

Python猫

Python 编程

【MySQL】我这样分析MySQL中的事务,面试官对我刮目相看!!

冰河

MySQL 面试 事务 隔离级别 冰河

拥抱K8S系列-04-基于docker部署更多应用

张无忌

Docker 标准化 vsftpd

Python 函数为什么会默认返回 None?

Python猫

Python 编程

Python 中的数字到底是什么?

Python猫

Python 翻译 PEP

Python 为什么要在 18 年前引入布尔类型?且与 C、C++ 和 Java 都不同?

Python猫

Python 编程

Python 为什么能支持任意的真值判断?

Python猫

Python 编程

Flink从保存点启动应用-18

小知识点

scala 大数据 flink

如何将VSCode变成绿色版本

lmymirror

vscode 教程

C++之父:从电饭煲到火箭,都在使用我创造的编程语言丨编程人物录_文化 & 方法_小智_InfoQ精选文章