开发语言漫谈-C++

C++最初的名字为"带类的C"(C with Classes),形象的说明了C++的核心是将C语言从面向过程扩展为面向对象,此时的C++已经有了类、封装、继承等核心概念,为后来的面向对象编程奠定了基础。

不像C很少修订,C++修定过很多次:1998年,C++的第一个国际标准ISO/IEC 14882:1998正式发布。最近的修订是C++20(2020年):C++20是C++历史上的又一个重要里程碑。这次更新引入了一系列新特性和改进,如协程(Coroutines)、概念(Concepts)、模块化(Modules)等。 C++23 是 2023 年 7 月份刚确定下的新标准变化包括引入标准库的模块化支持、扩展 constexpr 、增加并行算法、ranges 扩展、this 推导、引入更多的属性和注解、增加 std::mdspan、std::generator 等新特性。总之C++在越来越复杂的路上越走越远。很多新语言的出现就是因为C++太复杂,但是没一个能撼动C++的地位。

C++入门难,提高难,但上限很高。你适合不适合做技术,看能不能沉浸入C++。一般来说,使用C++的场景都是跟操作系统、跟硬件打交道的。其他程序员都是站在巨人肩膀上,你只能站在地上。最要命的是C++涉及的知识面太广,两个C++程序员之间都可能无法交流和沟通。熟悉(不是精通)C++的程序员都已经是高手了,到了精通阶段就是世外高人了。C++只带刷人属性,不适合的人在进阶阶段就自动劝退了。所以现在C++核心岗招不到人。这些岗位包括:

  1. 系统级(操作系统、驱动程序等)

  2. 游戏开发

  3. 嵌入式系统

  4. 大数据处理(计算、分析)

  5. 人工智能和机器学习

  6. 网络和通信

尤其是人工智能和机器学习领域发展前景非常好。如果你天赋异禀,又能吃亏耐劳,不妨学学这门九阳神功。

相关推荐
Chuncheng's blog2 分钟前
CentOS 7如何编译安装升级gcc至7.5版本?
linux·运维·c++·centos
我命由我1234515 分钟前
Spring Boot 项目集成 Redis 问题:RedisTemplate 多余空格问题
java·开发语言·spring boot·redis·后端·java-ee·intellij-idea
Rocky40125 分钟前
JAVAEE->多线程:锁策略
java·开发语言·jvm
JSUITDLWXL1 小时前
ideal2022.3.1版本编译项目报java: OutOfMemoryError: insufficient memory
java·开发语言
magic 2451 小时前
Java建造者模式(Builder Pattern)详解与实践
java·开发语言·建造者模式
前端小崔1 小时前
前端面试题之ES6保姆级教程
开发语言·前端·javascript·面试·职场和发展·ecmascript·es6
Love__Tay1 小时前
【学习笔记】Python金融基础
开发语言·笔记·python·学习·金融
Lilith的AI学习日记2 小时前
什么是预训练?深入解读大模型AI的“高考集训”
开发语言·人工智能·深度学习·神经网络·机器学习·ai编程
wangjinjin1802 小时前
Python Excel 文件处理:openpyxl 与 pandas 库完全指南
开发语言·python
愚润求学2 小时前
【C++】类型转换
开发语言·c++