为什么不推荐C++?

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!习进阶更高效! 阅读详情

C++是一门强大的语言,已经得到了广泛的应用。C++开创了面向对象编程(Object Oriented Programming, 简称OOP)的时代。


想当初,抱着一本厚厚的C++书,啃了好几个月,总算把C++的各种概念都看了一遍。时至今日,C++版本号已经从11,14,17升级到20,后面C++ 23 预计很快推出。每个版本,都带来众多的强大特性。

 

因此,强大、复杂,是C++最鲜明的特点。

 

但是,国外很多大牛,都对C++持否定态度,最著名的就是Linus Torvalds了,他说:
C++ is a horrible language… C++ leads to really really bad design choices… 
翻译成中文:C++是一门可怕的语言… C++的设计哲学是非常差的。

 

面向对象的思想和工程实践已经持续了30多年,从最初对C++的狂热追捧到日趋理性,人们开始反思:C++带来的好处多,还是副作用更多?

 

我本人,深入学习过C++,并且领导和参与过多个大型的C++项目。从自己的体会出发,我是强烈不推荐大家学习C++的!

 

最初,C、C++、Java三足鼎立的时候,绝大多数从事后端系统开发的人员,基本都会首选C++,原因在于:
1)Java性能差,不能手动管理内存,因此首先就被排除了;
2)C++是开箱即用的,C++ 语言本身就自带了各种数据结构和算法,如Vector、List、Map等;
3)C++的第三方Library众多,如大名鼎鼎的Boost,ACE等。

 

而C语言不是开箱即用的,就连个基本的链表都得自己写。因此,对于新手来讲,肯定一下子就投入到C++的阵营中了。

 

但是,由于C++过于复杂,真正能深入掌握C++,在产品研发中能正确发挥C++的优势,并规避C++的弊端,这样的C++高手寥寥无几。
最终,大量C++项目都充斥着低质量的代码,

如何系统C++ 大家好,C++ 真的是一门备受争议的语言,关于 C++ 的书籍也是浩瀚如海。 那几本 C++ 的四书五经想必大家也早已在各路习路线中见过了。 过没关系,今天你依然会看见它们的身影哈哈哈。 C++ 最大的缺点就是语法复杂,而且难难精。 习 C 语言也许一本 K&R 的《C程序设计语言》就够了,但是在 C++ 世界里,找到这样一本书。 这是一个爱速成的年代,大多数人很难耐得住寂寞花很长时间去习一门语言,所以《21天C++》的销量还蛮错的。 但是很遗憾,别说 21 天,就是一两年也很难 阅读详情

相关推荐

eclipse还能写C和C++

索引前言环境准备系统环境C/C++环境Java环境开搞下载eclipse开始写代码多个文件怎么办后记 前言 当你打开洛谷 WriteBug CodeForces OJ想打题的时候,是否面临着这样一种纠结:我要用哪个IDE呢? dev太制杖了,自动补全和即时查错都没有;VC老掉牙了;CodeBlocks也咋样;VS Code配环境有点麻烦;VS太臃肿了,几十G说,启动还半天;CLion要钱(虽然可以免费),(但)爷/姐想白嫖 这时候,可以考虑一位跨领域的重量级选手—— 记事本Notepad 环境准备 系

Leaf_Oct的博客 3409

精通c++是一种怎样的体验?

一度怀疑花了那么多精力C++是否值得,直到后面有机会专攻Webkit内核代码,里面有些对性能有变态要求的模块,诸如JavaScript解析引擎,内存池管理,C++的高级玩法都玩到了,C++的优势得得到了充分的展现。在Webkit里面浸淫了两年,在实际层面理解了C++的价值,她在复杂性管理和效率之间的有着完美平衡,但是前提是你能驾驭它。 再往后就写代码了,回顾下C++习过程与我而言是一门修行,作为一个合格的程序员,深入理解一门语言是必须的,一通百通,后面Java,C#,OC基本上都是一周上手,轻轻

m0_73535932的博客 418

C++的坑真的多吗?_c++真的很烂吗

C++的坑真的多,如果你能花两到三周的时候读一下《Effecitve C++》里的那50多个条款,你就知道C++里的坑并多,而且,有很多条款告诉我们C++是怎么解决C的坑的。我毕业时,是直接从C跳过C++Java的,但是Java的时候,知道为什么Java要设计成这样,只好回头看C++,结果C++的时候又有很多懂,又只得回头看C,最后发现,C -> C++ -> Java的过程,就是C++填C的坑,Java填C++的坑的过程。能保证同样功能的程序,C++更短小”,这正是浅封装的核心思想。

2401_89733496的博客 1110

C++的致命缺陷:为何现代开发正抛弃它

C++设计的固有缺陷与现代软件开发困境》一文系统剖析了C++语言在多维度存在的结构性缺陷。文章指出,C++在保持C语言兼容性的同时,积累了语法复杂、特性爆炸等历史包袱;内存管理机制既带来安全风险又增加开发负担;过时的编译模型导致编译效率低下;标准库存在功能缺失与设计缺陷;开发效率与安全性显著落后于现代语言;生态系统呈现严重碎片化。尽管C++在性能敏感领域仍可替代,但其设计局限性正受到Rust等新兴语言的挑战。作者建议开发者应理性评估C++的优缺点,通过现代编程实践规避风险,同时根据项目需求权衡是否选用更

W20130306的博客 1726

菜鸟C++程序员给初编程的同志们二十条忠告

面试简历书写要求:要有个人信息,教育背景,专业技能(哪些是熟悉的,哪些是掌握的,熟练使用的),项目经验(所用时间,项目名称,软硬件环境,项目关键技术,项目描述),简历上写的东西要都会,面试是双向选择的过程,用害怕,会就是会,要是都会了,面试官会很没面子,会一直问你,把自己会的东西都说出来,要自己带节奏,能老让他一直问你,谈薪资要勇敢一些。先看公司做的什么方向先先进,领导特别好,工作环境就很好,待遇好,薪资待遇也错,能到一些东西,待着舒服,用担心三四月以后公司在了,这样的就可以去;

m0_63736943的博客 1445

为什么看到这么多人推荐C++?_c++越来越臃肿(1),2024年最新2024年Golang工作或更难找

能走的更远。论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、习资源、职场吐槽、大厂内推、面试辅导),让我们一起习成长!**

2401_84264429的博客 1063

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

C++11、C++14、C++17到如今的C++20,除了增添了少量的最基本的组件(比如智能指针、哈希表、线程等),其他全是TM在折腾语言特性!一个C++程序员,需要一个基础功能时,百度一下,在CXDN找到一个知名网友分享的源代码,找有积分的朋友下载后导入到工程,一编译128个error,256个warning···江湖上,使用C++的各大门派,谷歌、腾讯、百度、阿里、华为,无一是多年积累下了一套自己的开发生态,轻易会公布,这也导致了没有官方的东西,民间自立门户,标准难以统一。

IT界那些事儿 7653

为什么老程序员推荐C++

因为: C++ 难度大,投入产出比低, 容易精通。 关于C++推荐你读一本书《C++从入门到放弃》。某软件工程了四年毕业,他告诉我:“了四年,只记住hello world了”。 开个玩笑,C++是公认的,编程语言里最难的一种,毫夸张的讲,这玩意儿跟考注册会计师、一级建造师、司法考试有的一拼(当然,毅力是关键) 本人新建一个技术交流圈子,群主是10年老技术人员,某上市公司的技术负责人,群里面每天会给群友解答疑问,招聘内推,点击即可加入圈子 验证码:cs 技术交流群,群友每天分享干货,答疑解惑 个

SQ19939的博客 797

rust为什么显示了国服_为什么看到这么多人推荐C++

2000年左右是C++的鼎盛期,游戏,图形界面,科计算,后台服务,各种新语言的实现语言,甚至入侵了一点操作系统里C的地盘。一项技术,火起来蜂拥而上,泥沙俱下,平稳后发现后劲足,或者有另一个风口出现,便如树倒萎溃散。进化是好事,进化的同时要吸取经验,避免出现返祖现象。C++之父写过一本神书,«C++语言的设计和演化»,鄙人孤陋寡闻,似乎这是唯一一本阐述语言设计理念、折衷的辛苦无奈历程,Bjarn...

weixin_39758956的博客 644

为什么看到这么多人推荐C++?_c++越来越臃肿

链接:https://www.zhihu.com/question/22853451/answer/2084675682其实现在也越来越发现,C++老是在弄那些语言特性,当然有一些好用的,但是让C++这门语言也越来越臃肿。使得习成本很高,而且普遍实现某个功能,可以有多个同的方法,使得代码的统一性好。除此之外,C++的标准库和STL库功能太匮乏了,大家都调侃C++就是用来刷LeetCode的,现在C++就是缺一个好的包管理器,管是标准库还是第三方库,这样可以让C++开发变得更高效率。

2401_89828713的博客 668

为什么看到这么多人推荐C++?_c++越来越臃肿,就是这么简单

能走的更远。论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎扫码加入我们的的圈子(技术交流、习资源、职场吐槽、大厂内推、面试辅导),让我们一起习成长!**

2401_84264429的博客 1102

为什么大家都怕C++?

这是一个利用C++实现的俄罗斯方块的小项目,相对于那些大型项目,这个项目对初者比较轻松,而且把C++和耳熟能详的游戏开发有机的结合到一起,这会让习者有更加直观的感受,也有更加强烈的代入感,能够把习者的注意力吸引到程序的设计过程中。相对于很多书籍单纯的概念讲述,《C++ Primer(中文版)》从因到果,由浅入深,由表及里娓娓道来,从语言的简单用法,到为什么这样设计语言,你仅能从一个语言使用者的角度看问题,更能站在一个语言设计者的角度思考这种语言的设计优劣。程序执行效率高,依赖编译器,跨平台性差些。

2402_83140078的博客 1024

为什么全网都劝你要自C++

C++能干什么?往细了说,后端、客户端、游戏引擎开发以及人工智能领域都需要它。往大了说,构成一个工程师核心能力的东西,都在C++里。跟面向对象型的语言相比,C++是一门非常考验技术想...

程序员吴师兄的博客 3516

为什么很多人劝退 C++,但大厂核心岗位还是要 C++

C++ 是一门 “适合所有人” 的语言,但它是一门 “能带你走到技术深处” 的语言。如果你只是想 “尽快找个工作”,那 Java、Python 确实更适合你;但如果你对 “计算机底层”“性能优化” 有执念,享受 “榨干硬件性能” 的快感,那 C++ 会是你最好的选择。记住:C++习没有 “捷径”,前两年可能会觉得 “难”“慢”,但一旦你吃透它,你会发现 —— 那些陡峭的习曲线,最终都会变成你职业路上的 “护城河”。往期文章推荐知识点精讲:深入理解C/C++指针总被 “算法” 难住?

m0_73443478的博客 1270

为什么全网都劝你C++

C++能干什么?往细了说,后端、客户端、游戏引擎开发以及人工智能领域都需要它。往大了说,构成一个工程师核心能力的东西,都在C++里。跟面向对象型的语言相比,C++是一门非常考验技术想...

过往记忆大数据 2335
上一篇: 要想成为牛人,推荐学习哪种编程语言?
下一篇: C 语言面向对象的封装方式
实力程序员K
博客等级 码龄5年 16粉丝 30原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值