C++之今生前世

0 背景

本次内容源自InfoQ技术实验室对C++之父Bjarne Stroustrup的一次采访【2019年Bjarne Stroustrup来中国上海出差之时】。

1 前世

Bjarne Stroustrup刚工作进入贝尔实验(每年写一张纸来汇报自己这一年做了什么),原本想创建一个分布式系统,但是由于没有找到合适的语言(表达高级概念【高级语言】的同时也兼顾底层于硬件沟通【低级语言】),于是自己创建了这门语言。

2 今生

Bjarne Stroustrup提到C++20会有两个特别有帮助的特性:

  • 1 Concepts
    对范型编程的接口精准规范,来提升范型编程的实用性和灵活性
  • 2 Modules
    使用它整理代码,可以使得编译速度大幅度提升(比如5倍)

3 缺点和长处

3.1 缺点:

因为没有哪一种语言的完美的,因此C++也有它的缺点。

  • 1 语言十分的复杂,无法摒弃一些陈旧的内容【因为C++已经发展了几十年,伴随着稳定性、兼容性、语言成熟度的进步】
  • 2 IDE编译系统和软件包管理等存在不足【如需要include引入头文件,不过C++20已经引入import来导入模块】
  • 3 没有大量的simi-stander libraries(不完全标准库)【因为没有大财团的支持,比如C#就有微软】

3.2 优点:

C++之所以能发展那么多年,也存在着它独一无二的优势。

  • 1 非常的灵活,具备撰写高性能代码的能力
    • 【在嵌入式/硬件方面追求高性能,低延迟】
    • 【C++之父在设计语言时,有一个设计原则就是“零负担原则”,一种语言不应该只实现设计者想要的功能,它必须做的更好(计算机里的抽象模型必须比人工做的更好)】
    • 面向对象并允许直接访问计算机,不仅机器工作效率高,人编写代码的效率也高
  • 2 非常稳定,拥有ISO标准,向下兼容
    -【 几十年前的代码现在也可以运行,这就意味着现在写的代码,几十年后也能运行】
  • 3 非常中立,不依托于某家公司,不会因为因为公司合作伙伴业务的需求而对语言进行调整
    • 【因为没有财团支持,但是依旧在不断壮大,这也是C++发展非常有趣的地方】

4 驾驭者

根据保守的估计C++社区有450万C++开发人员,并且每年以10~15万的速度在增加。

5 C++的创世神

5.1 工作经历

Bjarne Stroustrup原本在贝尔实验室工作,然后在德州农工大学做教授教书十几年后,由于担心自己可能会不知道那些才是现实世界真正需要解决的问题,于是到了摩根士丹利任董事总经理【国际金融公司】。
去那里的原因有:

  • 1 那里有一些Bjarne Stroustrup研究方向上感兴趣的待解决的问题;
  • 2 那里的办公室、同事很好;
  • 3 离他的孙子/女家只有20分钟的路程。

5.2 爱好

热爱读书,比如文学、历史、自然科学,喜欢古典、摇滚音乐,喜欢旅游。

5.3 建议

5.3.1 平衡

生活中工作或者其他,都应讲究平衡。【就像C++这个项目需要很长的周期,不是一次短期冲刺,而更像是一次长跑】

5.3.2 出色的程序员

  • 1 拥有扎实的计算机科学基础知识,比如数据结构,对计算机硬件架构有一定的了解。
  • 2 不应该只掌握一门语言,而是根据项目的实际需求来决定需要的技能。【比如现在的AI/无人驾驶汽车,也是至少需要两门语言,底层C++,高层使用python】
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 岁月 设计师:pinMode 返回首页