百科问答小站 logo
百科问答小站 font logo



「C++ 早就过时了,大部分写工程不用 C++,学习这个语言只是为了竞赛」的观点是否正确? 第1页

  

user avatar   yao-dong-27 网友的相关建议: 
      

C/C++的确有有点过时了,这里要把C和C++放到一起说,因为你很难把他们两个分开。

从语言设计上,它的缺点太多了,很多近20年比较先进的语言设计思想很少被C/C++采纳,即使采纳也很难普及,C/C++历史包袱太重,它必须兼容过去三十年的语言设计特性,而它的编译器和运行库虽然有标准,但是没有单一的标准实现,导致多个编译器互不兼容。

大部分新工程是不用C/C++的,注意是“新”工程,原有的C++工程还是持续在用,摆脱不掉,由于历史原因,软件这个世界在构建的时候只有C/C++可用,导致这个世界的基石都是C/C++开发的,操作系统,编译器,运行时库,算法包,图形引擎,数据库等等,这个项目的生命周期特别长,很难换掉。你会发现,百万行代码以下的项目各种语言都有,但是百万行代码以上的项目C/C++的占比就很高了。这种恐龙级的大项目一定是很多年前就开始的,而那时只有C/C++。

说学习这个语言只是为了竞赛和装逼是显然不对的,学习这个语言的目的是为了达到更高的软件技术上限,注意是“上限”,不是说你学了C++就水平高了,而只是上限高了,能多大程度接近上限还是靠多年的努力和天赋的。当需要学习更多的软件技术,理解更底层的设计,是必须理解C/C++的,其它语言会把你的技术能力限制在应用层。比如 学习机器学习和神经网路,深入到底层无论是 Tensorflow,torch,还是TVM都是基于C/C++的,机器学习算法包大多都是 C++实现的。

学C/C++的人很多,但是能学到高水平,能利用这门语言开发项目的人非常少,大约只有不到百分之五,就像学外语的人很多,但是能学到和外国人谈笑风生水平的很少。C/C++不学到一定境界,都无法正确看待这门语言。学C/C++就是为了成为高手的,否则投入产出比太差了,远不如学习其它简单的语言。


user avatar   davidtsang 网友的相关建议: 
      

c++岗位需求不足,这个也不是一天两天的事情了。

以前国内主要写win桌面程序,现在桌面已经衰退了,手机为主,自然就是java和objc这些取而代之了。

服务器方面,java和动态语言占主流,没听说谁用c++写web的。

游戏之前c++,现在unity流行,都搞c#去了。

没多少人愿意研究c++了,毕竟岗位相比其他语言太少了。


user avatar   pansz 网友的相关建议: 
      

这个问题透着一股邪乎味儿,怎么看怎么危险啊……

建议专业机构给予支援。




  

相关话题

  udp文件传输的问题,采用nack,怎么处理最后几个包丢失的情况? 
  在C语言中,math.h中定义的各种数学函数在电脑上具体是怎么实现的? 
  编程时怎么把函数当做变量使用? 
  int *p=new int,当free(p)时free函数是怎么知道要释放4个字节而不是5个的? 
  C++ 有提供像是 C 中 realloc() 这样的函数的新版本吗? 
  Linux如何优化程序的体积大小? 
  Android 将来能否实现用 C/C++ 作为开发语言?还是说现在的架构就注定了只适合用 Java? 
  C++中 union 储存的 char 成员能否通过 int 成员读取? 
  C/C++ 标准库为什么不支持直接删除一个文件中的部分内容? 
  C++对比其他语言到底难在哪里?有人对C++异常推崇,除了性能优势,还有什么优点,怎么学好C++? 

前一个讨论
不信上帝死后会下地狱?
下一个讨论
为什么现在有心理问题的年轻人越来越多?





© 2025-04-27 - tinynew.org. All Rights Reserved.
© 2025-04-27 - tinynew.org. 保留所有权利