2023年,C++是否还值得学习?

发表时间: 2023-09-23 17:03

看看这几年编程语言排名的变化,基本上心里就有答案了。

从多个角度来分析,肝了2000字,会需要花7分钟左右的时间。相信会让你有全面的认识,做出客观的判断。

一、这两年的C++使用热度变化

下图是2023年9月份的TIOBE 编程语言社区排行榜,可以看到C++的使用比例已经超过Java,占据了第三的位置,并且处于上升势头。

TIOBE 编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新。

其实,在2022年的时候,C++就因为涨幅最大,为 4.62%,从而成为 TIOBE 2022年度编程

语言魁首。亚军是增幅 3.82% 的C语言,季军是 Python(增幅 2.78%)。


二、C++为什么会崛起?

其实,Java和C++使用比例的反转,是发生在2022年。2010年之后,基本上Java长期占据了第一开发语言的宝座。但随着互联网行业的衰弱,Java的使用比例开始随着降低。2022年的这个时间点,跟全球互联网行业的变化,刚好能对应上。

C++崛起的一个原因,是它不断发布具有有趣功能的新语言标准。第一个标准被称之

为 C++11,它于2011年发布,这是自 1998年以来,c++第一 次发生的重大变化。因为当

时还没有可用的 C++编译器来支持新的语言定义,这个新标准的采用与普及经历了几年时

问的迭代。正因此,由于 C++11 的出现,C++在 TIOBE 榜单中的地位在 2001年以来不断下

降之后,慢慢走上了正轨。

第二个重大变化,当然要属 C++20的出现,引入了模块、概念(Concepts)等功能。目前C++20 版本的使用还正在逐渐上升,未来几年,这也可能会驱动其在TIOBE 榜单的地位。


三、C++的历史

自C语言首次发布已经过去了五十年,C++也己经历了37年,它最初被命名为“带有类的

C”。在这漫长的时间窗口里,C/C++通过对语言的持续增强和改进保持了其热度。现代的

C++包含面向对象、泛型以及函数式特性。同时,C++也便利了低级别的内存操作。


四、C++的使用场景

C++还是能做很多事的,它的应用场景,更多是偏向底层,涉及高可靠,对安全性要求高的场景。比如操作系统、网络平台、芯片、数据库、游戏开发、嵌入式软件、AI相关开发等。

另外,它在行业中的应用也很广,从视频游戏、服务器、数据库,到太空探测器等等,都能用到 C++。

国内在底层软件的造诣还远远不够,这些都是国内IT行业追赶美国所必须提升的。在底层和核心技术涉及少,除此之外,很多计算机和通信的行业标准也是欧美国家占了主导,虽然说这几年中国在这方面有一定进步,但总体上还是有不小差距。这里就涉及方方面面了。比如高通、苹果、思科等,之前在手机、移动通信和网络等领域的专利优势,不是一朝一夕能赶超的。

这些底层软件和卡脖子技术,很多都涉及C++。接下来AI领域也会持续爆发,这里也有大量的的需求。

另外,包括互联网领域的业务层面开发,有些互联网巨头都离不开它。就像腾讯早期的主流语言就是C++,到了这几年,一些部门的主流语言仍然用的C++。我一朋友在腾讯,按他的说法是:基本不敢改,尤其是底层的代码。

五、C++的未来

但是,到了 2023年,对 C/C++ 的需求似乎有有所减缓,其占比从二月份的近 13%下降到

五月份的 7%。

所以,这也是个动态平衡的过程。

但可以说明一点:Java和C++的生命力还都很顽强。

六、是否建议走C++方向?

从上面的分析来看,长期来看,C++仍然是值得追随的一门语言。

但毕竟开发语言终归是一个工具,市场对它的需求也是有个动态平衡的过程。所以,很难保证它是会一路向好,还是会掉头跌落。

需要综合看自身的情况,如果已经在C++或者Java钻研很久了,投入了很多精力,那么,其实不建议轻易转换方向,毕竟转换是有代价的。如果是初入社会的小伙伴,如果是后端开发,建议可以都尝试看看,看自己对哪一种更有感觉,再决定不迟。

当然了,职业发展过程中,也需要看所处的行业、开发的产品和业务场景等。

七、这两年的就业市场表现

整体大环境不好,不论是C++,还是Java,亦或是前端开发语言,就业情况都不太乐观。

我自己招聘的过程中,发现有大量的空档期几个月的候选人,就是可以随时入职的那种。不论是Java工程师、C++工程师、底层开发的、产品经理还是测试岗位,都是如此。

我一个同学,在深圳从事Java开发挺多年,技术水平挺不错,也当过架构师。往年换工作时,都是轻轻松松有几个offer,今年失业半年多了,刚开始找了两三个月,各招聘APP都刷遍了,几乎没什么响应,后来干脆躺平了几个月。最后还是我团队招人,把他给捞上来了,要不然还不知道要失业多久。