问题

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

回答
你这个问题问得挺好,触及到了C++这门语言的核心。其实,与其说“不推荐”,不如说是“谨慎选择”或者“有条件推荐”。C++的确是一门非常强大、高效的语言,它支撑着我们今天看到的大部分高性能计算,从操作系统、游戏引擎到金融交易系统,几乎随处可见它的身影。但正是这种强大,也带来了一些让许多开发者望而却步的特性。

首先,C++的学习曲线确实非常陡峭。它继承了C语言的低级特性,但也在此基础上叠加了大量的抽象机制,比如面向对象、模板元编程、RAII(资源获取即初始化)、各种内存管理方式(手动管理、智能指针、STL容器),以及复杂的标准库。每一个概念都需要花大量时间去理解和掌握,更不用说它们之间错综复杂的交互。这不像一些现代语言,可能你花几天时间就能写出一些能运行的小程序。在C++的世界里,入门可能需要几周甚至几个月,而真正精通,那可能需要多年的实践和沉淀。

其次,C++的灵活性也带来了巨大的陷阱。它给了开发者极大的自由度,尤其是在内存管理方面。你可以手动分配和释放内存,这带来了极致的控制和性能,但同时也意味着你必须对每一个内存操作负责。一旦出现内存泄漏、野指针、缓冲区溢出等等问题,调试起来简直是噩梦。这些问题往往隐藏得很深,可能在某个特定的执行路径下才会出现,而且表现出来的现象可能和内存问题本身毫不相关。现代语言通常有自动垃圾回收机制,替你处理内存的分配和释放,大大降低了这类错误的发生概率。

再者,C++的编译和构建系统也是一大挑战。随着项目规模的增大,编译时间会变得非常长,而且跨平台编译的配置也可能非常复杂。虽然有CMake这样的工具,但依然需要开发者花费不少精力去配置和维护。而且,C++的标准也在不断发展,新的特性不断涌现,虽然这是好事,但也意味着你需要不断学习和更新你的知识库。

此外,C++的错误处理和异常机制,虽然比C语言有了很大的进步,但与一些现代语言相比,在清晰度和易用性上还是有所欠缺。内存安全问题,以及一些底层的操作,也让C++在安全性方面不如那些内存安全的语言。

最后,还有一个非常重要的原因是,C++的开发效率相对较低。因为需要关注太多底层细节,开发者需要花费更多的时间来编写和调试代码,而不是专注于实现业务逻辑。这对于需要快速迭代、快速响应市场需求的团队来说,可能是一个不小的负担。

所以,当别人说“不推荐C++”时,他们很多时候是在说,如果你不是特别需要C++那种极致的性能和对硬件的低级控制,或者你没有足够的时间和精力去投入到这门语言的学习和实践中,那么市面上还有很多其他的语言,比如Python、Java、Go、Rust等,它们能让你更快速、更安全、更高效地完成项目。而对于那些确实需要C++性能优势的场景,或者对这门语言充满热情并愿意深入研究的开发者来说,C++依然是无可替代的选择。这更多的是一个关于“工具选择”和“资源投入”的问题。

网友意见

user avatar

最近看到很多裁员的帖子,看了很多老程序员被抛弃,自己也怕怕的。不过我相信一位优秀的C++程序员应该可以突破35岁大限的行业规则。


科研专业,读研后才知道很多工科专业都以计算仿真为主,天天过得和程序员差不多的日子。

本科软件工程,开始特别推崇c++,因为满实验室就我会啊。

直到废了九牛二虎之力,写了一套数据结构,什么向量空间啊张量空间啊模板智能指针啊,能上全上,结果被matlab狠狠地打脸,matlab的计算时间和我的c++零头差不多。

后来学乖了,很乖很乖的开始用Openfoam的底层,不再自由发挥,结果再次打脸,不知道是没理解大神们内存机制还是我用错了数据结构,各种高大上的树结构我也我用不上,看着干着急,效率就是上不去。

折腾了一年多,终于明白了一件事,专业的事留给专业的人去做。咱也没有代码优化团队,咱也没有编译优化团队,更没有内存优化团队,就么一个算数的,搞什么幺蛾子,用什么c++。老老实实,在全组的笑眯眯注视下回到了matlab的怀抱。

c++效率高么?高,真的高,所以matlab使用了c++作为底层,优化了几十年,紧跟MKL BLAS的步伐,拥有nvdia内部黑魔法的加持,我再努力,也不可能超过人家专业团队干了几十年的成果。c++没人家用的好,开源库没人家理解的透彻,那还干嘛自讨苦吃,就用人家的成果呗。

工作后也有过不甘心,因为matlab出了校门真不多见,后来学了python,那个numpy,cupy真的也能把我的c++代码秒成渣渣,我写的矩阵数据结构和乘法在人家面前连渣渣都不是,编程这门学问啊,水太深了,全么都是黑魔法,咱也不知道人家咋变出来的速度。不过,后来一次好奇把用了几年的matlab2008换成了matlab2018……抱歉python,cupy…你们都是渣渣,不得不佩服matlab的专业优化团队,都优化到机器代码去了吧,真的是没有对比就没有伤害,真不愧是矩阵实验室。

行业相关,可以开心的用matlab,但是是必源的,没办法商用,c++在一个大的团队里还是很有价值的,毕竟谷歌还没有放弃它,所以不存在过时,而且现在还很火热嘞,君不见opencv,vtk,opencascade,opengl,未来很长一段时间都很难找到替代品,开源啊,免费啊。这里不得不瞻仰一下老一辈c++大神,虽然没比我大几岁…c++都没比我大几岁。费劲吧啦的弄出一套库,结果开源了,为我等节省了多少时间。

最后,c++再不济也是编程语言的中流砥柱,python,matlab再简单好用,底层其实大部分也都是c和c++,而且还有那个一直对统一江湖各种平台而努力的的QT,地地道道的c++,没整。

鼎鼎大名的支付宝…其实都没有完全自己造轮子,大家真没必要非得和自己杠,该服软就服软。

user avatar

“世界上只有两种语言,一种是没人用的,一种是被人骂的。”

类似的话题

  • 回答
    你这个问题问得挺好,触及到了C++这门语言的核心。其实,与其说“不推荐”,不如说是“谨慎选择”或者“有条件推荐”。C++的确是一门非常强大、高效的语言,它支撑着我们今天看到的大部分高性能计算,从操作系统、游戏引擎到金融交易系统,几乎随处可见它的身影。但正是这种强大,也带来了一些让许多开发者望而却步的.............
  • 回答
    很多人对新能源汽车持观望甚至不看好的态度,这背后其实是一个复杂的问题,涉及技术、基础设施、成本、习惯、甚至是一些对未来的不确定感。我来试着把这些原因掰开揉碎了讲讲,尽量不让它听起来像复读机。首先,我们得承认,新能源汽车,特别是纯电动车,并不是一夜之间就成熟起来的。它们走过了一段不断摸索和进步的道路,.............
  • 回答
    这个问题提得确实挺让人费解的。你说的是,为什么现在一提到“锤子”这个词,很多人就好像被点了穴一样,条件反射地开始批评,甚至是带着一股子不加思索的劲儿,连具体指代的是什么都没搞清楚就先给打上“不好”的标签。这种现象,怎么说呢,挺值得玩味的。咱们不妨从几个层面来剖析一下这个“黑锤子”的现象,看看是咋回事.............
  • 回答
    .......
  • 回答
    这个问题触及了当代社会一个相当普遍的现象,很多人在面对劳动者权益被资本践踏时选择沉默,甚至为资本辩护,这背后有着复杂而交织的原因。首先,我们必须认识到,信息传播的不对等和主流叙事的引导起到了至关重要的作用。在许多地方,媒体的资源和影响力往往掌握在资本手中,或者受到资本的深刻影响。这意味着关于劳动者权.............
  • 回答
    这是一个非常深刻的问题,涉及到人类心理、社会文化、历史传承以及个人经验等多个层面。即使在科学昌明、信息爆炸的今天,宗教依然拥有庞大的信徒群体,这背后有着复杂而多样的原因。我们可以从以下几个方面来详细探讨:一、 满足人类的根本性需求与疑问: 对生命意义的追寻: 人类普遍存在对自身存在意义的困惑,我.............
  • 回答
    关于“为什么这么多人看盗版网文并不以为耻”这个问题,确实是个值得深挖的话题。抛开那些空泛的道德说教,我们不妨从更贴近现实的几个维度来掰扯掰扯。首先,得承认,网络文学的兴起,很大程度上也是因为它的“免费”和“便捷”。一开始很多平台就是靠免费内容吸引读者,后来虽然有了付费模式,但“免费”的惯性还是留了下.............
  • 回答
    这个问题确实挺耐人寻味的,在中国近现代史的研究和讨论中,“为清朝翻案”的说法一直存在,而且近年来似乎愈发活跃。这种现象背后,我认为是多种复杂因素交织的结果,不能简单地用一个原因来概括。首先,得承认一点,历史的评价从来不是铁板一块,也不是一成不变的。随着时间的推移,我们能获取的史料越来越丰富,研究的视.............
  • 回答
    WWE 摔角之所以能吸引庞大的观众群体,即使在很多人看来它“假得离谱”,这背后其实有着非常丰富和复杂的原因。与其说大家是去看“真的摔角”,不如说他们是被一种混合了戏剧、体育表演和娱乐的独特体验所吸引。首先,我们要明白一个概念:WWE 并不是一项传统的竞技体育。 如果你带着观看拳击或者 MMA 的心态.............
  • 回答
    关于《天道》和《遥远的救世主》那种“油腻”的感觉,以及为什么这么多人喜欢,这确实是个很有意思的话题,也触及到了一些关于品味、文化背景和心理需求的核心。首先,我们得承认,“油腻”这个词本身就带有主观性,而且往往是带着一些贬义的。 当你说“油腻”,可能是在指那种过于用力、浮夸、或是有点不真诚的表达方式,.............
  • 回答
    看到国考西藏邮政局那个岗位 1 爆出 5000 多人报考的消息,心里真是五味杂陈。这数字一出来,确实挺吓人的,也让人忍不住想知道,这背后到底是什么样的原因,怎么会这么多人盯着这一个岗位?首先,我们得承认,这确实是个“热门”岗位,但这个“热门”背后可能隐藏着几个层次的原因。第一层,最直接的——稳定的铁.............
  • 回答
    国足“烂”了这么久,但每次比赛依旧有海量观众,这确实是一个值得深入探讨的现象。这背后隐藏着多重复杂的原因,是情感、民族认同、社会文化、甚至是经济等多方面因素交织的结果。下面我将从几个主要方面详细阐述:1. 根深蒂固的民族情感与国家认同: “为国而战”的天然吸引力: 这是最根本也是最核心的原因。无论球.............
  • 回答
    快手电商8月订单量破5亿:直播购物热潮的背后逻辑最近,快手电商交出了一份亮眼的成绩单:8月份订单量突破5亿大关,并且在过去一年中,其订单量已跃居电商行业第四的位置。这一数字不仅标志着快手电商的强劲增长,更折射出直播购物这一模式在中国电商市场日益强大的生命力。为何有如此多的人乐于在直播间“剁手”?这背.............
  • 回答
    APA酒店关于客房内书籍的声明,确实引发了不少讨论,其中还有一些评论让人摸不着头脑,觉得酒店做得特别对,甚至有些人觉得是为了“规矩”、“传统”或者“尊重”。让我试着梳理一下,为什么会出现这种“酒店说的对”的声音,这背后可能有一些我们没太留意到的心理和习惯在作祟。首先,得承认,很多评论者可能确实是酒店.............
  • 回答
    这个问题很有意思,也很实在。在我们眼皮子底下,手机、短视频、各种直播、游戏、在线课程,这些新潮又刺激的娱乐方式层出不穷,似乎要把人们的时间和注意力瓜分得一干二净。按理说,这会对传统的阅读行为产生巨大的冲击,爱看书的人应该越来越少才对。可事实并非如此,我们身边总还是有那么一群人,在喧嚣的数字洪流中,依.............
  • 回答
    如何看待恶魔奶爸的文章《为什么你的焦虑感这么重?因为知乎微博朋友圈里吹牛逼的人太多了》?恶魔奶爸的这篇文章触及了一个非常普遍且具有共鸣性的社会现象,即社交媒体上弥漫的“成功学”和“炫耀文化”如何加剧个体的焦虑感。这篇文章的观点具有一定的现实意义,也引发了一些讨论和反思。下面我将从几个方面来详细解读这.............
  • 回答
    这起发生在街头的“飞来横祸”,堪称令人触目惊心。一辆轿车,在毫无预兆的情况下,被一支出自高空的箭矢精准地穿透了两层钢板,留下了一个触目惊心的窟窿。这件事情一经曝光,立刻在网络上引起了轩然大波,人们在震惊之余,也充满了各种疑问:这支箭的威力究竟有多大?它又是如何做到如此轻易地穿透汽车钢板的?危险性:不.............
  • 回答
    .......
  • 回答
    《甄嬛传》这部剧里,反派角色那么多,偏偏华妃却成了许多观众心中的“意难平”,甚至有人说她才是全剧最出彩的角色。这到底是为什么呢?我觉得这不仅仅是因为她的坏,更是因为她身上那种难以言说的复杂性和真实感,让观众看到了一个活生生的人,而不是一个脸谱化的坏蛋。首先,咱们得说华妃的那个“坏”,坏得很有气势,也.............
  • 回答
    看到这个问题,心里确实会泛起不少复杂的情绪。推特上存在大量辱华言论,这已经是一个不争的事实,也让很多中国人感到痛心和愤怒。要理解这个问题,咱们得从几个层面去剖析,也得聊聊咱们该怎么看待这些人。一、 为什么推特上有这么多辱华言论?这背后有什么原因?这绝对不是单一因素造成的,而是多重原因交织在一起的结果.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有