西西河

主题:随便说说c++的这次吵架 -- tom

共:💬71 🌺370 新:
分页树展主题 · 全看
/ 5
上页 下页 末页
    • 家园 外一篇 C++ 难不难?值不值得学?

      说C++难的人,有穷经皓首,幡然醒悟,也有折戟沉沙愤然离去,还有转发500遍赚流量粉丝的。

      C++之于其他语言, 犹如数学之于其他理工学科。追求抽象性。比如不能深入理解各种iterator(forward, reverse。。。。),是不可能掌握好STL

      正如早期各种工程学科没有成立之前,牛顿,莱布尼兹,高斯们直接上阵,一边建立数学理论一边解决问题。现在是工程师都用各种软件硬件直接得出问题答案。Python,Java,C#那些one liner是建立在C++写的虚拟机上,更不用说这些语言不能抵达的领域。

      C++是否值得,如同上面把它比作数学,其必要性是毋庸置疑的,虽然可能需要点调查才能深刻理解使用范围广度和深度。

      对于企业,用不用C++, 那看你想做联想还是华为,科工贸还是贸工科?你的招牌对目标工程师的吸引力何在。为了情怀把投资人的钱和耐心耗尽了,就只能顶着骗子的帽子出国,下周都不能回来。

      对于个人,因人而异,数学固然重要,数学系也没有被挤破门槛。

      我个人的态度是把它是否有用和是否用它分开来。

      当我觉得 life is too short, 我就用Python, C#, Javascript之类。

      当我觉得岁月静好的时候,摆好文房四宝,写几行代码存起来,或是去C++社区找一篇文档读读,演讲听听,预防阿尔茨海默病。

      或许因为bjarne喜欢哲学著作(克尔凯郭尔的粉丝)的示范作用,C++社区的言论有很多深度思考,哪怕是戏谑。

      点看全图

      如果还是翩翩少年,刚好有一个好的C++氛围环境,投入的爱一次,忘了自己,非常可能终身受益。但是做好半途而废的思想准备,半途而废的事多如繁星,多一件不多。

      如果已经错过了,那就继续错过,life is too short.没什么不能错过。

      通宝推:辣椒,宏寺,文化体制,
      • 家园 C++ 就是一个半吊子

        从真正面向对象来说,C++ 不如 Java, C#。从跨平台来说,C++ 不如 Java。从简明易懂来说,不如各种script。从效率来说最多也就和 C 持平,更比不上汇编,机器语言。

        C++ 就是一个半吊子的过渡性语言。从进化论的角度来说,属于missing link.

        • 家园 非也非也

          C++是第一种可长期维护发展的高效语言。所以,特别实用于大系统长周期的开发和运用。

          你说的其他选择,要么不够高效,要么不易发展维护。

      • 家园 c++14以后可以学学,之前的。。。算了吧

        毕竟大部分人不是写standard library的

        • 家园 这是官方建议

          但是现实生活中,有旧代码要维护,编译器不能升级所以不支持新特性之类。

          所以在另一帖里,我建议如果有比较好的氛围环境,可以学学。不然做好半途而废的思想准备。半途而废的事多如繁星,但这件事极有可能造成严重后果,前C++程序员是重度PTSD高发人群,甚至前试图C++程序员都可能感染。

      • 家园 继续吧,送花哈

        最近C++社区蹦跶啥,没有精力关注,你正好吹吹水,我也顺一耳朵

        前面说的各种变迁,我基本都经历过,STL实在太惊艳了,后面JAVA,C#只能捧臭脚了

        C++嘛,呵呵能遇到最多的是VC的码农了,现在大学还让学生配置VC6呢,还是国内排名靠前的大学哦,帮我女儿检查作业,伸手就不过,遭到鄙视,我只能说这个VC6玩过,后来我知道的太多了,反倒语法他不认识了,当然翻下MSDN,还是可以搞得过的。

        其实C++真的很难学,入门当做C的加强版了,后来发现,不是这么回事,OOP和STL搞清楚,觉得自己应该可以了,再深入进去,呵呵,勉强说自己会写C++吧,C的话,我可以说随便玩,C++可不敢说。

        用过的C++开发环境一大堆,近年来,开发精力转向了nodejs, golang这些。

        但是这个C++确实挺好玩的,学究特别多,说法一套套的,没事的看看还是有意思的,至于C++做项目,看具体什么项目,图形,游戏引擎,还有通信,应该还是可以的,玩硬件的,应该还是以C为主,有其他领域比较牛的C++项目,还想听楼猪说说

        • 家园 没人懂C++

          就在这前几天的MeetingC++ 2018, Nicolai Josutts,在演讲开始问有谁大体上(roughly)懂C++, 没人举手。他接着问有多少人懂50%,有3个人,他说他自己没举手。

          实际上这个问题没意义,没有人懂任何一种语言的全部,哪怕是C, Javascript。但是大家不在乎,对C++大家却很在乎。某个意义上C++成为大家潜意识里某种能力的检测标准,所以容易个人化,情绪化。

          我觉得你说的很好,

          ]C++确实挺好玩的,学究特别多,说法一套套的,没事的看看还是有意思的
          。 这是最好的态度。

          另外很多C工程都是用C++编译器编译。微软很多年没有更新其C编译器了,C99支持的人不多。

      • 家园 所以C++

        就是编程语言里的郭小四、公孙永浩和矮大紧?搬砖也记得45度角仰望星空,卖卖情怀,缅怀一下诗和远方?

        • 家园 的确如下面所言,这个理解错的太远。

          没有C++,我们现在所处的时代就基本不存在,因为底层,和需要高效率的程序需要C++,它就像是如来,法力无边,无处不在,却不被一般人所觉察。而其他的一些解释性语言,利用其自身简单抽象的代码和各种编译型语言做成的库,不需要了解底层和数据构造的细节,就能够进行高级功能的开发,降低了门槛和细节的描述,从而达到迅速开发的目的,这个就像各路小神仙和妖魔鬼怪,即使没有专心修炼,也可以随便弄个法宝,从而可以称霸一方,如果遇到高手,那就迅速去搬救兵。

        • 家园 no, 刚好相反

          随着软件像电力,电子,通讯一样从高精尖的研究走向大众,并成熟成为一种工程,一个产业,最好的质量已经不是目标。 标准化的规模化生产,和相应的工具才是主流。C++更像是一种实验室设备,类似示波器,酒精灯。

          这是JAVA, Python 流行的主要原因,顺应时势。也是我没写完的这次吵架的根本原因,新的一代工人已经成长起来,不明白当司机为什么要动汽车结构会修车,因为产业成熟到真的可以不需要。

          现在那些培训学校就是这样,教几万块钱,集中封闭式培训半年,帮编一份简历,就可以去应聘上岗。

          这是产业成熟,准入知识门槛降低的必然趋势。是自然分层的结果,是一种演进中的分化。矮大紧那是非专业人士对专业领域的大众化普及,捣糨糊,是一种融合。

          基本上,我觉得,是社会的进步。

    • 家园 随便说说c++的这次吵架(2)

      阿拉斯揭竿为旗,天下云集响应,赢粮而景从。

      经历80年代10年的野蛮生长,Bjarne 墙裂希望把C++语言标准化,万事俱备后,亚历山大一把拽住他的手臂,来,给你看个东西。这一看,Bjarne说,我等,我们等。这是熟人的力量,更是数学的力量。

      亚历山大终于写完STL,等米下锅的标准委员会立马在98年发布了第一版C++的ISO标准。STL的核心配方是template,方法是generic, 亚历山大取的名字。

      Java和 c# 城里旌旗飘扬,上书我也要,我也要。

      Java 在2004年满足了他的子民。

      C# 2005年开仓放粮。有人反映味道不对,C#说,runtime, runtime,你的,明白。 期间他爹微软,图天下,修文德以来之, 准备用C#写一个STL.NET,昭告天下后,奋笔疾书,不久一声长叹,撕掉稿子,付之一炬。

      在C++国,走出标准委员会投票会场的大卫,街边扯了3尺红布,上书boost.org,占山为王,招纳天下英雄,任何人可兴致而来,兴尽而归。这种free style也叫open source。2011年c++标准更新,boost 出没的英雄占领库议席大半。

      那时还不知道自己神秘力量的安德烈,2001年出了一本书晦涩的经典书 Modern C++ Design -- Generic Programming and Design Patterns Applied,详述了手握template的十八般最帅姿势,从此 Modern C++变成了专有名词。

      阿拉斯对着mordern C++唾了一口,抬手手把子弹射向STL。自古英雄出少年,诚哉斯言。

      • 家园 STL和java.util.collection源代码

        前者是天书符咒,后者是醇美的散文诗。

        • 家园 不是一回事哦

          STL代码不用全读,只读一个排序差不多思路就搞清楚了,编译时多态,完全抽象的语义,这才是优美的诗歌啊,Java那个顶多算打油诗。

          STL这种泛型编程的恶心的地方是调试期没有很好的工具支持,非常反人类,我几乎都是靠日志来排查问题,当然我有好几年没有写了,也许现在有点好工具玩玩

分页树展主题 · 全看
/ 5
上页 下页 末页


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河