学习C++可以做什么,可以从事哪些领域的工作

最近看了《现代C++白皮书》这本书,本书中本文关注 ISO C++ 标准在 2011 年、 2014 年、 2017 年和 2020 年的修订版中的重大变化。总结了C++的发展演化历程。书中的主要内容如图:

在书中总结了C++可以用来做什么,学习C++主要从事哪些领域的工作。摘取出来内容如下:

大致而言, C++ 可谓无处不在、无所不用。但是,大象无形,大多数 C++ 的使用并不可见,被深深隐藏在重要系统的基础设施内部。C++ 被用在哪里,是如何被使用的,没人能够完整了解。

2015 年,捷克公司JetBrains 委托进行了一项研究 [Kazakova 2015],结果显示在北美、欧洲、中东以及亚太地区 C++ 被大量使用,在南美也有一些使用。“在南美的一些使用”就有40 万开发者,而 C++ 开发者的总人数则达到了 440 万。使用 C++ 的行业有(按顺序)金融、银行、游戏、前台、电信、电子、投资银行、营销、制造和零售。所有迹象表明,自 2015 年以来, C++ 的用户数量和使用领域一直在稳步增长。

在这里,作者将对 2006 到 2020 年期间内 C++ 的应用领域给出一个可能有些个人化的、印象派的、非常不完整的概览:

  1. 工业界:电信(例如 AT&T、爱立信、华为和西门子)、移动设备(基本上是所有,信号处理、屏幕渲染、对性能或可移植性有重大要求的应用)、微电子(例如 AMD、英特尔、 Mentor Graphics 和英伟达)、金融(例如摩根士丹利和文艺复兴)、游戏(几乎所有)、图形和动画(例如 Maya、迪士尼和 SideFx)、区块链实现(例如 Ripple)、数据库(例如 SAP、Mongo、 MySQL 和 Oracle)、云(例如谷歌、微软、 IBM 和 Amazon)、人工智能和机器学习(例如 TensorFlow 库)、运营支持(例如 Maersk 和AT&T)。

  2. 科学:航空航天(例如 Space X、火星漫游者、猎户座载人飞行器、詹姆斯·韦伯太空望远镜)、高能物理(例如 CERN 欧洲核子研究中心、 SLAC国家加速器实验室、费米实验室)、生物学(遗传学、基因组测序)、超大规模计算。

3.教学:全球大多数工程院校。

4.软件开发: TensorFlow、工具、库、编译器、 Emscripten(从 C++ 生成asm.js 和 WebAssembly)、运行期代码生成、 LLVM(许多新语言的后台支柱,也大量用于工具构建中)、 XML 和 JSON 解析器、异构计算(例如SYCL [Khronos Group 2014–2020] 和 HPX [Stellar Group 2014–2020])。

5.Web 基础设施:浏览器(Chrome、 Edge、 FireFox 和 Safari)、 JavaScript引擎(V8 和 SpiderMonkey)、 Java 虚拟机(HotSpot 和 J9)、谷歌和类似组织(搜索、 map-reduce 和文件系统)。

6.主 要 Web 应 用 : 阿 里 巴 巴 、 Amadeus( 机 票 )、 Amazon、 苹 果 、Facebook、 PayPal、腾讯(微信)、 Yandex。

7.工程应用:达索(CAD/CAM)、洛克希德·马丁(飞机)。

8.汽车:辅助驾驶 [ADAS Wikipedia 2020; Mobileye 2020; NVIDIA 2020]、软件架构 [Autosar 2020; Autosar Wikipedia 2020]、机器视觉 [OpenCV 2020;OpenCV Wikipedia 2020]、宝马、通用、梅赛德斯、特斯拉、丰田、沃尔沃、大众、 Waymo(谷歌自动驾驶汽车)。

9.嵌入式系统:智能手表和健康监控器(例如佳明)、相机和视频设备(例如奥林巴斯和佳能)、导航辅助设备(例如 TomTom)、咖啡机(例如Nespresso)、农场动物监控器(例如 Big Dutchman)、生产线温度控制(例如嘉士伯)。

10.安全:卡巴斯基、美国国家安全局、赛门铁克。

11.医疗和生物学:医学监测和成像(例如西门子、通用电气、东芝和飞利浦)、断层扫描(例如 CT)、基因组分析、生物信息学、放射肿瘤学(例如 Elekta 和 Varian)。

这只是冰山一角,但它展示了 C++ 使用的广度和深度。大多数 C++ 的使用对其(间接)用户不可见。 某些对 C++ 的使用早于 2006 年,但也有很多是之后才开始的。没有一个主要现代系统只用单一语言写就,但是 C++ 在所有这里提到的应用场合中发挥了重要作用。

我们常常忘记那些平凡的却在我们的生活中起着重要作用的应用。没错, C++ 可以帮助运行美国国家航空航天局的深空网络,但也可以在人们日常熟悉的小设备中运行,例如咖啡机、立体声扬声器和洗碗机。让我惊讶的是, C++ 竟然也被应用于运转现代养猪场的先进系统中。

猜你喜欢

转载自blog.csdn.net/xu_fu_yong/article/details/123116708