为什么看到这么多人不推荐C++?

转一个回答。

链接:https://www.zhihu.com/question/22853451/answer/2084675682

其实现在也越来越发现,C++老是在弄那些语言特性,当然有一些好用的,但是让C++这门语言也越来越臃肿。使得学习成本很高,而且普遍实现某个功能,可以有多个不同的方法,使得代码的统一性不好。

除此之外,C++的标准库和STL库功能太匮乏了,大家都调侃C++就是用来刷LeetCode的,现在C++就是缺一个好的包管理器,不管是标准库还是第三方库,这样可以让C++开发变得更高效率。


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会有官方的包管理了,好评一个~)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小熊coder

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值