redhat9i
发表于 2021-4-7 09:55
我感觉需求很大啊,我们组常年招人而又常年招不满…
kyuskoj
发表于 2021-4-7 10:03
需求没那么热门,但工资高,无人机芯片开发就经常要用c++
Doris232
发表于 2021-4-7 10:07
直接从国内几个大公司的招聘网站看c++社招岗位数量就行了。
先看鹅厂(此时此刻现实有1035个c++岗位需求):
搜索 | 腾讯招聘再看阿里巴巴(搜索c++,结果590个岗位左右):
职位搜索 - 阿里巴巴集团招聘再看百度(搜索c++,结果190个岗位左右):
百度招聘另外,今日头条、网易、拼多多都有一些c++的职位,可见,几乎所有稍微大一点点的互联网公司都有c++的需求,其中鹅厂和baidu是著名的以c++为主的,其它公司不以c++为主但是多少也招c++。
在游戏方面,ue4越来越火,在游戏客户端ue4方向的c++需求在以后几年之内肯定会增加。
所以说,c++学好了,肯定是很吃香的,就算是java大厂阿里,也有不少c++需求。
JoshWindsor
发表于 2021-4-7 10:14
需求应该会降的,入门难度太高,坑太多,范式太多。
新公司一般很少会用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模型的编程语言走红。
zt3ff3n
发表于 2021-4-7 10:22
数据来说话吧。
数据来源,全球最大招聘信息网站 indeed
应该足够反应不同语言的除中国以外的市场需求了。
这是总量,再来看看频率:
每一百万发布的工作中所提到的语言次数。
从市场来看还是java的需求更旺盛吧。
数据来源:
The 7 Most In-Demand Programming Languages of 2018 - Coding Dojo Bloghttps://www.linkedin.com/pulse/learning-3-programming-languages-get-you-started-fnr-solutions-inc-/
NoiseFloor
发表于 2021-4-7 10:25
非纯软件公司,C++需求还是巨大的。
本人C++出身,开发了几年C++程序,后因工作需要扩展到了C、C#和JAVA。在基本理解C++的基础上,运用其他语言,真的很轻松。
一会用C玩嵌入式程序,一会用JAVA玩Android程序,用C还能玩Linux驱动程序和Windows驱动程序,用C++和C#混合搭配玩PC端应用程序。从应用层、驱动层到固件层都玩过,不敢说都精通,但基本知道是什么回事,主导过多个项目。
我现在也不推荐写纯C++的应用程序,UI处理太麻烦。能用C#的尽量用C#,或者折中处理:C#处理UI,C++处理算法。
对本人来说,C++已经是一门工作语言,但不是全部。
本人工作行业:IC设计,负责IC周边程序开发。
rustum
发表于 2021-4-7 10:26
其实就像很多的编程都有可能会随着时间和需求而一代代进行更迭
而在这之前,很多的程序需求大部分都要用C++来实现,所以在那个时代C++是巅峰王者。而现在,很多领域都开始有专属它的一门语言,使得实现需求变得更为便捷。
即便C++的市场需求越来越少,但C++是不会消亡的。从世界范围的统计数据来看,C++虽然在不断衰退,但仍多年排在TIOBE靠前。所以,在很长一段时间,C++都不会被淘汰。
C++的不可替代性
曾经在知乎红人vczh说:「我在上大学的时候几乎就只学习C++,后来实习的时候去了微软,结果到了那里才知道,那个组是不用C++的,怎么办?凭借着C++带给我的殷实的功底,我按时完成了老板给我的“两个星期内学会C#和WCF基础知识”的工作,顺利开始工作。」
当然,这只是vczh的个人经历,不具有普遍性,但不可否认的是C++仍具有不可替代性。某家创业公司CTO在接受采访时表示:「即便有很多人唱衰C++,但在当代,仍有很多很多项目的目标平台暂时只提供C++编译器的支持,仅从这一点而言,C++是不可能彻底死亡的。」
从应用领域来说,C++适用于高性能计算、嵌入式系统、开发服务器软件、游戏、实时系统等,所以,短期内能彻底取代C++语言并不存在。
C++在系统、图形、网络等很多领域都是不可替代的,它的光辉岁月让它的死亡速度得以削减。
C++的需求随着时代发展会不可避免地越来越少,但不可能彻底消失,C++程序员也具有不可替代性,在市场上依旧有着竞争性。
首先我们现从C/C++的功能、在计算机中综合语言的情况来看
C/C++市场需求-职位数量
JAVA与C/C++就业市场比较
再来看看C++的长远职业规划
福利,倾情奉献 黑马程序员C/C++学习路线图
(另附教程)
推荐教程
C++| 匠心之作 从0到1入门学编程Java教程
java基础教程(编程就像打字一样简单)
HuldaGnodim
发表于 2021-4-7 10:32
刚毕业不久的时候,写过一段时间的C++,想想本猿的学习能力还是不错的,刚出来的时候用VB写桌面软件(暴露年龄了),都是行业相关的MIS程序而已。
刚出道当然是到处跳,这里工资高那么点点,走! 那里有项目用新技术,走!
在其中一家公司做了三年,其中要做一个视频监控的平台(说成平台,是因它要做成客户端,服务器,还有设备适配等等种种分布式子系统).然后我就负责客户端的开发。天哪,当时我也只是刚从VB输向Web呀,当时还是用Web Form. 然后公司说有个战略性的项目,要把各大厂商的视频监控录象机(即DVS ,DVR之类的了)都纳入我们这个平台,让用户用我们这个平台的时候,只要买到的DVR/DVS设备不太山寨,都可以接入我们的平台统一管理。大家自己去脑补这个应用场景了。当时想想我们这个项目也觉得“伟大”,把厂高的监控程序都替代了,直接用我们平台上提供的,来自不同厂商的设备,都统一接入到我们的后台服务端管理,而前端都是用我们统一的视频监控程序把它们都看了。
其实我们的想法从技术上讲是行得通的,剩下的主要是运作模式问题了。当时我们找了几家知名的视频监设备,什么XX威视,X华之类的,然后把它们的SDK摸透,除了要兼容不同设备的视频显示,还要兼容它们的云台控制协议。
平台主要分为服务端和客户端,服务端由我们那些“大牛”们通过Java负责实现,他们要在上面做设备的维护管理、权限管理等等。而视频播放、云台控制这些“不太重要的细支末节”就交由我这个小初哥来做了。现在想想都觉得当时他们太操蛋了,明显想坑死我呀,哪有这么容易,当时C++对来来说,还只停留在大学课堂上,老师讲的几个语法、数据结构和一些指针的概念上。幸好当时还真有初生牛犊不畏的精神,而且CTO对我还算支持,给了我很多时间去研究学习,还给了我很多建议。最后我终于把这个客户端做出来了,当时没有用到COM+之类的东西,只能将现有的、已知厂商的SDK包含进去,如果需兼容新的设备,还是要改程序,发布新版本的。
事后老板们对我这个用VB做MIS程序的小子,几个月把一个可以兼容各大厂商的视频播放与控制程序倒腾出来,评价还是挺高的。也许当时那几位盘算着用这个任务把我卡死逼走的“大牛”们有点失望吧。再后来就是公司都解了(我们只是这个集团的其中一个子公司,还不是集团的主业),所以就把我们遣散了,当时找我去谈补赔的时候,CTO还说多给我一人月奖励(也不知道是不是真的),让我不要对外说,并保持联系,以后有机会还可以合作。
说回C++吧,对于较底层的一些开发,还是以C++为主。还有就是一些性能要求高的地方;而现在最流程的各类企业应用,互联网应用,也一样,底层如果对性能有需求,或实现一些基础算法,还是会用C++的,其它的话还是Java等高级一点的语言,毕竟用C++做一个企业信息管理系统,跟用Java来做,工作量和复杂度可不是一个数量级的差别。而且Java之类的语言还会在易用性方面不断发展,这方面是C++无法比的。
BlaXuan
发表于 2021-4-7 10:41
这种问题对于大神来说肯定到处是需求,对于新手来说就难讲了。我举个我自己的例子你看看哈。
我是去年17年暑假过后学了下C++,看了3、4本语言方面的书籍,然后12月份投简历。
简历上与C++有关的项目是一个Web服务器。投了包括腾讯在内的大厂子和一些级别更低一些的公司(至少有D轮),没人理我,真的。然后我反思了一下,可能是我还在学校,出不去,人家不要我,更可能是我能力不足。之后我就投PHP的职位,然后凭借着一些计算机基础,和那个服务器的项目,过了一家D轮的公司。最要命的是,我简历上面写了两个PHP项目,他们没问,缺问了我那个服务器的项目。不仅没问PHP的项目,连PHP相关的问题也没问,要么和C++有关,要么考算法,要么计算机基础。
我想你应该明白我的意思了吧
C/C++固然很重要,但是,如果你没有把握进大厂,你可以先选择其他一门语言吃饭,然后根据所需,学习C/C++,然后帮助你成长(例如我用我的C语言功底,去读PHP内核源码和Nginx源码,不仅提高了自身职业道路上的竞争力,也提高了自身C语言的水平)。
性能高的语言固然可以做高大上的事情,但是你要思考一下,你从现在开始,到你找实习的那天,你能不能找到大厂的C++工作,搞清楚这点很重要。如果你相信自己可以进,那么学下去完全没问题,市场需求对你没问题。如果进不了,市场需求会成为你的绊脚石。
maltadirk
发表于 2021-4-7 10:45
互联网公司用c++的越来越少了,早就从单机扛性能的年代走到规模扛流量的趋势了。
除非在一些特别特别需要性能的场景,或者是遗留系统。
这个市场空间非常非常小。