需求应该会降的,入门难度太高,坑太多,范式太多。
新公司一般很少会用c++,除非它能在应用场景有极高的优势,比如实时系统。不过即使是实时系统,很多语言包括java在内这种需要GC的其实现在也是能做的。
其实很多初学者和hacker还有技术至上的人都不太理解为什么java的需求会有这么高,明明java语言存在很多缺陷。为什么即使在拼性能的很多领域,比如服务器中间件什么的,java也取代了C++。
这里的原因是我们对现代软件系统的理解和过去是完全不一样的。在软件越变越大,越变越复杂的过程中,如何组织软件才变为了更为主要,更能提升性能的因素。因为太过于复杂,你几乎不可能找到“最优解”,所以完全靠抽象方式提供合理的组织结构,体现在具体上,就是软件系统的架构,框架,各种范式什么的。
在这样的方式里,单个部分的性能大部分情况下几乎是不怎么紧要的,跟软件结构比较起来的话。因此C++产生的潜在性能提升一般情况下并不会太大,至少不如结构组织方式产生的影响大。
但是如果全力挖掘性能的话,C++总归是比java的性能要高的,为什么很多中间件也会用java写呢?这就要谈到发展速度了。
软件行业的发展速度是有目共睹的,这带来了一个事实是任何东西都很容易过时的。新的理论新的领域新的框架新的市场等等会随时出现,你用了很多努力去优化到极限的一个系统很可能会随时变得没太大用了。比如说hadoop就已经用的少了,大家都用spark了。这是在抽象方式上的提升,并不是你性能优化能改变什么的。
C++是不是有用武之地呢,当然有,但是并不是在看性能的地方。对于复杂软件来说,如果只是性能问题的话,优化方式有很多,不一定要用编程语言来搞性能。C++真正适合用的地方一定是需求十分明确,长期保持不变,并几乎必须使用的且对性能要求高的东西。还有就是遗留系统了。
这样一个发展迅速的时代,有多少东西是长期不变的。为什么C++在衰弱,就是因为我们的发展速度太快了,像过去那样长期专注一个软件系统然后卖软件的时代已经过去了。
可预见的未来里,会产生大量新软件需求的包括: 5G,物联网(只是用词罢了,表示一系列工业4.0,智慧城市,信息物理融合系统,雾计算等),VR/AR,人工智能等等。C++应该会继续衰弱下去,因为太多存在探索性质的新领域。看现在的编程语言,如果要我做预测的话,应该会Java,Go,Python,Javascript继续走高。说不定Erlang可以上来,或者可能会有一门新的采用Actor模型的编程语言走红。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有