不知不觉,c++开发干了十年了,高不成低不就.
认真分析一下现在c++程序员的现状,思考一下自己的出路.
转行是不可能的了,毕竟收入也不算低.
c++现状:
- 学习曲线相对陡峭.
不过入了门,就无所谓了. - 薪资水平相对较高.
- 工作机会相对较少.
这个是缺点,也是优点,因为机会少,从业人员自然也就少了,相对来说竞争也会少点. - 离前端相对较远.
长期做c++的,对前端html+css+js这些东西相对会更陌生,先入为主的思维会让学习这些技术更难一些.但是现在越来越多的场合会用到这些技术,js几乎可以做全栈了.不会这一套会失去很多机会,例如:跨平台移动app开发,跨平台pc端app开发,微信小程序等.
c++应用场景:
- 开荒领域
新兴领域,其它语言还没办法进入的时候,只能使用c/c++,不过这种情况只会越来越少,而且,随着c++封装好的库越来越完善,c++自己就退出主要战场了.例如cocos2d,库封装的差不多的时候,lua,js就上来了. - 性能领域
对性能要求严格的场合, 音视频处理,操作系统,网络库,图像处理,游戏引擎,三维引擎,pc客户端等.但是随着硬件技术的发展,这个领域也在不断退缩. - 历史遗留领域
一些大型项目,船大不好掉头,只能继续c++.
c++未来:
- 应用场景越来越少,大概率会收缩到几个特定领域
硬件发展,新语言特定领域取代等原因,c++的应用领域会越来越少,操作系统,游戏引擎,音视频处理,网络库等可能成为最后的战场.操作系统和网络库貌似一般人也很难涉及,剩下就是图像处理,游戏引擎,三维引擎,pc客户端了.
大厂可能是个好归宿:
分析了这么多,c++貌似前景堪忧,但是,如果把情况定位在大厂,情况就大不一样了.
- 硬件发展
本来硬件发展会让c++的性能优势不那么重要,升级程序员的成本大于升级硬件的成本.但是到了大厂,来不来几十上百万台服务器,升级硬件的成本远远大于升级程序员的成本. - 操作系统和网络库
在小厂,这两个领域也是很难涉及,大厂才有机会接触. - 历史遗留项目
同样是历史遗留项目,大厂的项目更大,更难以轻易换语言,例如鹅厂,很多基础库都是c++的,很难短期内放弃c++,也没有这个必要.
总结:
- 大厂
- 三维引擎,pc客户端,音视频处理,网络库,图像处理.