C++之父趣谈:与其他新兴语言相比,比如Rust、Swift和Go语言,C++语言有哪些不足和优势?

作者: InfoQ技术实验室分类: 科学·探索·自然 发布时间: 2020-02-04 18:00:05 浏览:136643 次

C++之父趣谈:与其他新兴语言相比,比如Rust、Swift和Go语言,C++语言有哪些不足和优势?

冬日雪影春幻雨:
我们没有任何财团支持但社区依旧一直壮大[打call]

【回复】微软、谷歌:我们不是财团,那什么是财团?
【回复】回复 @wyhstarswaycpp :你猜iso里都有谁
【回复】回复 @通口璃璃子 :有大厂的人去讨论不是很正常吗?大厂用得多经验丰富问题知道的全啊。那不然谁去讨论?这时候他们也是ISO人员,又不是微软谷歌投钱制定,别的公司和其他人又不是没参与。又不是大厂一家说了算的,都是讨论选出来的。微软谷歌给ISO投钱了吗?ISO需要投钱吗?
沫默枫:
虽然大学一开始学的C,然后是C#,后来学了Java,但是,用C++写代码的成就感比其他的语言更大,毕竟特别复杂。[喜极而泣]

【回复】回复 @唐心溪 :c++算法岗目前是天花板吧
【回复】回复 @给阿姨倒一杯卡不奇喏 :数学专业的容易去做算法。各种各样的数学概念。
【回复】回复 @给阿姨倒一杯卡不奇喏 :c也是啊
我超喜欢喝牛奶的:
写性能瓶颈的系统时 cpp真得很能给人成就感

【回复】回复 @赤赤传奇 :也许说的是内存算力等一系列资源都很有限的系统 比如嵌入式
【回复】是真的,再离谱的算法用C++搞就会出奇的快,尤其是一些高频算法,每次的IO优化真的很关键
【回复】回复 @赤赤传奇 :请问您知道有一个东西叫百度吗?
如此多的娘泡:
现在能存活下来得编程语言不好之说,只有你的精通程度和使用场景。c++依然很优秀

天才派大骚:
学校学的Java方向,,最后还是投入了C++怀抱[笑哭]

【回复】回复 @上进的小宇 :工业控制块,游戏领域,还有车企,c++目前细化到专业赛道了,还很能打,不过了解下学自己喜欢的,目前还在学校就自己做自己喜欢的就行
【回复】回复 @上进的小宇 :多看看其他的语言 多写写看看你喜欢哪个 然后去了解这个语言的应用场景是什么行业,再去决定你到底想学什么语言. 当然你也可以直接学 语言这个东西他真的就是一个语言,语言只是一个工具,重点不在于你会使用什么工具,而是要学会如何使用工具。
【回复】回复 @上进的小宇 :腾讯c++,阿里java,字节跳动go[doge]
hhv_47:
cpp需要做以下几点才能让更多的程序员加入! 1。就是放弃兼容。提高编译器性能与速度。增加编译器标准提高编译速度 2。对宏部分需要更强的大牛想出更好的优化编译方案 3。等大牛站出来。为新手做跨平台的标准库。而不是标准源代码库。对老手就自然会用标准库。而新人用打包好的跨平的标准库。非源代码级别。这样新人就减少了学习成本。直接就能用。而不是一来就学标准库。然后因为要学标准库就卡在模板与宏这。。 4。需要更牛的大神来提高cpp编译速度方案。 现在各场的方案都不是统一的。因此真的需要大牛把这件事搞定。不搞定cpp代码没通用性。还是一个是私平台语言。 5。把动态库加载加入标准库。跨平台加载dll。生成。h文件。这方面应该统一标准。让程序更用重用性而且还能获得更多信息。因为现在是21世纪这方面文件大点无所谓。没有信息。包含扩展开发信息太少阻止了cpp共用代码无法复用。本来dll就是用来共用的。而过去为了省内存与磁盘空间没设计额外信息。所以cpp需要打包兼容赶紧出这方面标准。让写好的dll能很容易通用!这些新手标准库加dll让更多的程序新手能入坑才能发展更好。 不然cpp编译速度让会cpp的也不愿意用。cpp的基础标准库是模板实现且源代码级别让人因这二方面缺点更不想用。 再加上源代码编译没有优化。一点改动就得重新编译又没加速。让人不爽。 所以cpp变得更美好从放弃兼容才算开始。因为现代的年轻人愿意放弃兼容性。 因为你为了兼容因各方面的原因他并不兼容像vs就是个例子

【回复】回复 @百分之九十九的人 :dll不是微软定义的吗?c++之父都说了,c++缺点就是社区没钱没有规范的定义一套库通用。微软定义一堆windows的函数 一些dll库 mfc,而到了linux又截然不同,linxu又定义了linux的一套标准,各个厂商有各个厂商定义的一套东西,重新造轮子。不过这样也好 开放了c++,给了c++更多的自由性。
【回复】放弃兼容这一点就不会有人学新的cpp,还不如去用rust
【回复】你在说什么?[辣眼睛] “为新手做跨平台的标准库。而不是标准源代码库”,“跨平台加载dll”[辣眼睛] native的代码怎么跨平台?你要托管的话为什么不直接用现成的的JAVA或C#呢?
听寒紫蓝:
只能说这语言太复杂了。我选择了rust,起码他的语法没有c++那么多

【回复】说rust比cpp复杂难搞的怕不是把cpp当成c with class来用的[抠鼻]
【回复】回复 @BillionX :说得好像虚幻4游戏引擎是你用c++写的一样。c++是很强,但是使用面越来越窄了,有的游戏引擎用C++写的,却不支持c++。整个linux系统和服务大多也是用c构建的。win平台也大力使用c#,淡化c++。c++已经越来越偏向写一些特定高性能核心组件,离应用层越来越远,嵌入式方面更多用的是c。层主也只是说c++太复杂而已,又不是说c++是弱鸡。
【回复】回复 @贯穿之轰雷 :但c++眼下就是比rust更复杂啊,上手c++确实比rust简单的多,但面向过程,面相对象,函数式,以及this指针等留下来的一堆奇怪特性,一个风格割裂,修修补补的语言,跟一个重新设计,风格相对统一的语言,显然是后者熟悉起来更简单,哪怕后者有着前者没有的各种艰深的概念和特性
佛系减肥30斤:
和c相比c++是一个十分糟糕的语言[笑哭]

【回复】回复 @严文思逸 :这是因为你规定了自己只使用oo,c++重量级的具体问题之一就是他提供了太多的编程范式,你可以用面向过程,面向对象,面向模板,甚至是函数式等范式进行c++的编写。这导致同样是写c++,你用你的范式写的也很出色,但是遇到使用另一个范式的c++代码可能完全看不懂。我第一次使用STL的时候转到定义还在纳闷这tm写的居然是c++?现在大多的新型语言都只会提供单一的范式,最典型的就是Python。 c++的新标准也经常在已有设计缺陷上反复横跳,比如说完美转发,exception列举到noexception…我很久没写c++了,只记得当时看新标准简直头要炸了。 我写c++的时间超过我所有使用的其他语言,比如js c# golang,我很喜欢c++,但觉得c++相当的复杂且难以写好。
【回复】让我想起了Linux之父炮轰C++:糟糕程序员的垃圾语言
【回复】确实有点,c++里的类,继承,多态,都可以比较方便的用c实现,从linux内核和驱动的源码思路中就可看出,大神们很多都是用c实现面向对象的思路
右念:
刚看完python之父的采访接着给我推荐了c++之父,令人映像深刻的是他们发量的对比

【回复】哈哈哈哈哈哈哈哈哈哈哈我也是那边来的
天清喷车车:
在职业生涯里,你可能会掌握很多语言,用他们快速完成了很多工程,但是终有一天你会遇见只能用C/C艹解决的问题[笑哭]

飞天艾小猪:
总结一下就是,c艹特性太多了,工作中用不到那么多,过段时间就忘了。别的语言用两年就很666了。C艹用两年头发都没了

二院教授:
C++包罗万象,学半天都掌握不了,挫败感十足。而且有的特性长时间不用,很快就忘记。

【回复】已经习惯类c语系的形式,学Rust感觉就很怪,根本学不进去[笑哭]
【回复】谢谢,我有c语言基础。这视频的cpp基础部分7天时间就啃完了。学起来还是很轻松的,不过我确信还只是基础https://b23.tv/BV1FA411v7YW

科技 技术 C++ 代码

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!