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

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

建议专业机构给予支援。




  

相关话题

  C++ 父类对象赋值给子类对象是未定义行为么? 
  C++里 const int* 与 int const* 有什么区别? 
  C++ 运动完上一个函数到下一个函数时,上一个函数里的变量值(结构体变量)为什么没保留住,变成零了? 
  C++ 和Java 的 double 类型都是 8 字节,为何 C++ 存不下 3.1415926 ? 
  为什么栈相对于堆很小? 
  以C++为核心语言的高频交易系统是如何做到低延迟的? 
  Mac系统下有什么适合图形学的C++IDE?Clion还是VS? 
  C++中函数返回的过程是什么样的? 
  C++ 的智能指针不就基本解决了野指针问题了吗?为什么还要吹捧rust的内存安全? 
  编译器是如何实现C/C++中的const的功能? 

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





© 2024-05-17 - tinynew.org. All Rights Reserved.
© 2024-05-17 - tinynew.org. 保留所有权利