C++为何频频遭遇反对意见?

发表时间: 2024-03-26 15:09

前几天逛知乎的时候,看到一个问题:

看到这个问题我倒是想吐槽几句了。

C++一直没找到自己的定位!

C语言:我是搞系统编程开发的,操作系统、数据库、编译器、网络协议栈全是我写的。

PHP:我是搞后端业务开发的,各种网站系统业务系统是我的拿手好戏

Java:我也是搞后端业务开发的,跟楼上抢饭碗的,而且我还能搞大数据分析处理,对了,我还有副业——Android开发。

C#:我跟楼上一样,我也有副业——搞Windows应用开发

Python:我也可以搞后端开发,我也有副业——爬虫,数据分析。

C++:你们说的主业副业我全都能搞!

写了10年C++了,对这门语言是又爱又恨。

你说搞上层业务层开发吧,没有Java SSM,C# .NET Framework这么核弹级的豪华配置。

你说搞底层系统开发吧,一堆复杂特性,学习成本巨高不说,一不小心还把自己玩崩。

所以,这就是C++的尴尬。

造成这个尴尬的原因,我一直认为,是C++被两拨人坑了。

一、C++标准委员会

一个Python程序员,需要一个基础功能时,百度一下+pip install,几分钟搞定。

一个Java程序员,需要一个基础功能时,百度一下+maven/gradle添加,几分钟搞定。

一个C++程序员,需要一个基础功能时,百度一下,在CXDN找到一个不知名网友分享的源代码,找有积分的朋友下载后导入到工程,一编译128个error,256个warning···

大家不要笑,这是很多C++程序员都曾有过的经历。

窃以为,一门语言除了基本特性之外,最重要的是生态,这跟操作系统是一个道理。国产操作系统不是开发不出来,而是建立一个生态太难太难。编程语言也是一样,提到Java、Python、C#、PHP这些语言,对于你能想到的99%的基础功能,官方都带有现成的,基本不用你去造轮子。

但C++呢,除了一个寒酸的STL和一个同样寒酸的Boost,还有什么?

江湖上,使用C++的各大门派,谷歌、腾讯、百度、阿里、华为,无一不是多年积累下了一套自己的开发生态,轻易不会公布,这也导致了没有官方的东西,民间自立门户,标准难以统一。

C++11的unordered_map没办法叫hash_map和hash_table就是一个很好的例子。

C++急需的是一个远比STL丰富百倍千倍的官方库和一个便捷的包管理工具,一统C++开发江湖。

反观标准委员会这些年做了啥?从C++11、C++14、C++17到如今的C++20,除了增添了少量的最基本的组件(比如智能指针、哈希表、线程等),其他全是TM在折腾语言特性!!!

我不是说新增的语言特性不好,像自动类型推导、新式的for循环、lambda表达式、右值引用等等这些东西都是非常不错的,我也是对其爱不释手。

但这些东西不是C++最紧急的问题,君不见,全世界还有一大票用着C++98的公司,不一样在过日子吗?

而这帮子大爷,不思民间疾苦,对语言特性不断推陈出新,语法屌出天际又有何用,到头来用的人越来越少,一切都是零。

(PS:听说C++23会有官方的包管理了,好评一个~)

二、微软

微软怎么坑了C++呢?今天先写到这里,有空再追更。

你会推荐新人学习C++吗,为什么?

以上就是本次分享的全部内容,想学习更多编程技巧,欢迎持续关注海南码上去学!