百科问答小站 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 网友的相关建议: 
      

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

建议专业机构给予支援。




  

相关话题

  如果编程语言有性别?Java、C++、C、C#是男是女?是GAY还是LES? 
  你是如何学会正则表达式的? 
  程序员们平时都喜欢逛什么论坛呢? 
  个人或者小团队选择C语言还是c++? 
  C、C++、Java、JavaScript、PHP、Python、Ruby 这些语言分别主要用来开发什么? 
  如何格式化代码能够将类成员/函数的名字对齐? 
  C++整型有__int8、__int16、__int32等等,为什么还要short、int、long? 
  C#中有什么是与C++的setw()、setfill对应的呢? 
  在内存特定位置填数据后,placement new 是否完全等价与cast? 
  为什么 C++ std::map::operator[] 不提供 const 版本? 

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





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