免责声明
以下纯属个人观点哦,仅供参考,本人不负任何责任哈~
结论
个人认为如果是2022年以前,你现在说你要学JAVA去找个工资待遇还不错的工作,那我觉得这听起来还比较现实,但是现在2023年6月了,如果你现在面临着从C++和JAVA这两门语言中去选择一门的处境,那我觉得毫无疑问是选择C++。下文将说出理由。
二者就业形势
C++:每年的岗位总体变化不大,简历回复率高,要求八股会背,深入理解部分重要的C++数据结构源码,从简单的指针引用区别到困难的移动语义和模板,对计算机体系/操作系统有一定了解,最好有两个C++迷你版的造轮子项目,再加上学历不差,相对好找到工作
JAVA:两年前,不可否认,JAVA岗位非常多,供小于求,基本每个学JAVA的都能拿到offer,但是现在随着互联网的没落和萧条,JAVA的岗位也在减少,与此同时,学习JAVA的人也越来越多,进一步加剧了竞争压力,由此市场上才出现了繁多的几千人询问一个8k的JAVA岗位
二者就业优缺点对比
C++:
优点:1)由于C++很多方向,所以每个方向人数并不夸张;2)不易被淘汰:C++贴近计算机底层原理和操作系统,会让你对计算机科学这门学科本身有更深刻的理解,学好后不用担心被淘汰找不到工作 3)可选方向多:对于校招,只有你C++和OS和体系结构理解较深,即使C++方向众多,校招时也不会着重看你是否懂该具体C++方向领域知识
缺点:1)C++较难; 2)大家熟悉的互联网后端开发岗位用C++语言的较少,用C++的方向较多,需要选择一个来细挖
JAVA:
优点:1)Java相对C++简单; 2)互联网岗位数量也相对多,JAVA工程师一般都集中在互联网公司
缺点:1)投递人数非常爆炸,岗位无法满足,出现很多4-6k的工作岗位 2)与计算机科学本身关系并不大,除了互联网业务,几乎没有其他方向,随着互联网衰退,35岁淘汰恐怕提前
为什么学习JAVA的人多,C++的人少?
很简单,JAVA本身比C++简单,因此导致多数专科二本双非等非科班同学转行,加上J前几年互联网飞速发展,JAVA势头非常猛,加上其本身生态环境比较集中和全面,针对的业务也比较明确,学习JAVA更像是在学习JAVA的生态软件,比如Spring全家桶;
而C++语言层面上比JAVA更难,很多生态软件需要自己去现造轮子,需要慢工出细活,对编程的能力要求较高,学习C++的过程更像是在学习计算机科学。
如何选择?
如果你是以下情况之一,那么可以考虑选择C++:
- 算法岗转型AI优化部署方向
- 较喜欢计算机底层原理和计算机体系结构
- 已经学了一段时间C++
- 还没有开始学JAVA
如果你是以下情况之一,那么可以考虑选择JAVA
- 已经学了很长时间的JAVA
- 已经有了不错的offer
最后
欢迎大家关注我的公众号“AI不止算法”,不定时分享C++以及AI高性能优化部署的技术体会