需求应该会降的,入门难度太高,坑太多,范式太多。
新公司一般很少会用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模型的编程语言走红。
这个4年前的问题选择在这个时间点突然出现在我今天的时间线上显得非常 亦可赛艇!
Android是2008年初才发布,而Oracle在2009年就以7.4B$收购了Sun,是Google不够睿智吗?
非也!
1)如果Android没有如此成功,Java对于Google而言就是一坨shit,Google从来没有想到自己会站在一坨翔上面取得空前的成功,如果有算命的告诉Google的命中贵人是阿翔,它就是穿越回去吃也要把它吃下去,可惜历史不能假设!
2)Google一直有python基因,很多系统都是基于python的,你知道工程师主导文化的可怕性吗?这帮pythonic的nerd出于情怀或者节操或者叫清高或者叫偏执或者叫真爱,它说什么都不会去买Java的,“老子看不上”!谁知造化弄人,09年你对我爱答不理,18年老子叫你高攀不起88亿!(注:今天的Google在各种收购之后,Java服务的比重占的也非常大了,变成了一个杂合的技术栈,而官司也很可能打到高院,尚未定论)
3)Google一直有跟开源保持共存共荣共襄盛举的传统,它跟Mozilla做生意,赞助开源项目,捐赠Wiki,主张“不作恶”,简直就是一副乌托邦理想主义者的化身,圈粉无数(包含答主),像Java这种项目,它更可能的方式是烧一笔钱给它花,然后来几句“希望Java明天会更好”之类的废话,它根本就不曾想过有一个家伙抄底了,因为那时候Android根本就没有火,Google从来就没有想过Java也T-M-D算哪门子“底”?
4)Sun的主手人也是个技术型的,就是技术牛掰业务做的稀烂,当时怎么看Sun都处在夕阳,SPARC也是逼格满满业务下滑被Intel捣的稀烂,那个价格没有几家觉得划算的,幸好是Oracle这种剑走偏锋的收购了它,要是换一家公司收购多半就把Sun雪藏甚至捣腾碎了,Java也就没有今日风光了,而Google在坊间也有创业公司杀手的美称,也许这就已经是历史发展的最好结果了。
什么,你问我对于Oracle收购Sun和MySQL怎么看?
还能怎么看?好白菜都让猪给拱呢呗!
但是作为吃瓜群众,我最喜欢看大佬们掐架,Google与Oracle的这场官司绝对酸爽,大家保持关注,各家都有千百号律师,吵起架来想想都 亦可赛艇!学知识产权法/专利法/法理学的同学们千万不要错过,说不定两年后就能进教材作案例呢!
什么,你又问我Google应该怎么做?
靠,我有不是劈柴!按我的观点,Google这次是违反了Java的使用协议的(无意引战,定论的事情留给专业法官),不能因为体量大就以为能压死人,那可是在美帝,万事全靠律师一张嘴,怎么讲都有理!
大家还记得微软以前有个skydrive吗?在英国被判败诉了,最后也得改名叫OneDrive呢!Google有钱了不起啊,过来领罚单!
而Java的坑早早就埋在那里了,所以苹果直接一刀切:老子不支持,免得搞一嘴毛!Flash一身毛病,一刀切,老子不支持!
所以,我对Google的建议是:
这TM不是关乎技术,不是关乎信仰,不是关乎生态,不是关乎用户体验!
这TM关系到命!
什么?要我预测结果?
法官中间调停,你们俩和解,google把赚的钱按每部手机给Oracle付钱?什么你说太扯了?你每买一部Android,都要给微软钱,你造吗?Oracle就想躺着就把钱收了!
这个4年前的问题选择在这个时间点突然出现在我今天的时间线上显得非常 亦可赛艇!
Android是2008年初才发布,而Oracle在2009年就以7.4B$收购了Sun,是Google不够睿智吗?
非也!
1)如果Android没有如此成功,Java对于Google而言就是一坨shit,Google从来没有想到自己会站在一坨翔上面取得空前的成功,如果有算命的告诉Google的命中贵人是阿翔,它就是穿越回去吃也要把它吃下去,可惜历史不能假设!
2)Google一直有python基因,很多系统都是基于python的,你知道工程师主导文化的可怕性吗?这帮pythonic的nerd出于情怀或者节操或者叫清高或者叫偏执或者叫真爱,它说什么都不会去买Java的,“老子看不上”!谁知造化弄人,09年你对我爱答不理,18年老子叫你高攀不起88亿!(注:今天的Google在各种收购之后,Java服务的比重占的也非常大了,变成了一个杂合的技术栈,而官司也很可能打到高院,尚未定论)
3)Google一直有跟开源保持共存共荣共襄盛举的传统,它跟Mozilla做生意,赞助开源项目,捐赠Wiki,主张“不作恶”,简直就是一副乌托邦理想主义者的化身,圈粉无数(包含答主),像Java这种项目,它更可能的方式是烧一笔钱给它花,然后来几句“希望Java明天会更好”之类的废话,它根本就不曾想过有一个家伙抄底了,因为那时候Android根本就没有火,Google从来就没有想过Java也T-M-D算哪门子“底”?
4)Sun的主手人也是个技术型的,就是技术牛掰业务做的稀烂,当时怎么看Sun都处在夕阳,SPARC也是逼格满满业务下滑被Intel捣的稀烂,那个价格没有几家觉得划算的,幸好是Oracle这种剑走偏锋的收购了它,要是换一家公司收购多半就把Sun雪藏甚至捣腾碎了,Java也就没有今日风光了,而Google在坊间也有创业公司杀手的美称,也许这就已经是历史发展的最好结果了。
什么,你问我对于Oracle收购Sun和MySQL怎么看?
还能怎么看?好白菜都让猪给拱呢呗!
但是作为吃瓜群众,我最喜欢看大佬们掐架,Google与Oracle的这场官司绝对酸爽,大家保持关注,各家都有千百号律师,吵起架来想想都 亦可赛艇!学知识产权法/专利法/法理学的同学们千万不要错过,说不定两年后就能进教材作案例呢!
什么,你又问我Google应该怎么做?
靠,我有不是劈柴!按我的观点,Google这次是违反了Java的使用协议的(无意引战,定论的事情留给专业法官),不能因为体量大就以为能压死人,那可是在美帝,万事全靠律师一张嘴,怎么讲都有理!
大家还记得微软以前有个skydrive吗?在英国被判败诉了,最后也得改名叫OneDrive呢!Google有钱了不起啊,过来领罚单!
而Java的坑早早就埋在那里了,所以苹果直接一刀切:老子不支持,免得搞一嘴毛!Flash一身毛病,一刀切,老子不支持!
所以,我对Google的建议是:
这TM不是关乎技术,不是关乎信仰,不是关乎生态,不是关乎用户体验!
这TM关系到命!
什么?要我预测结果?
法官中间调停,你们俩和解,google把赚的钱按每部手机给Oracle付钱?什么你说太扯了?你每买一部Android,都要给微软钱,你造吗?Oracle就想躺着就把钱收了!