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. 大数据处理(计算、分析)
6. 人工智能和机器学习
7. 网络和通信
尤其是人工智能和机器学习领域发展前景非常好。如果你天赋异禀,又能吃亏耐劳,不妨学学这门九阳神功。