Java和go怎么选
对于还在大学校园里读书,即将踏上社会找工作的童鞋来说,编程语言的选择是个令人头疼与纠结的事情。我结合我个人的观察与校招时的经验,给大家提供一点参考建议。
现在校招后端开发岗位,最主流的四种编程语言是:Java、python、C++和go。即使是社招,现在也很少公司用python作为后端主力开发语言,像字节跳动这样早期用python的公司也已经大量迁移到go了。C++由于自身过于复杂,语言颗粒度较细,也不适合现代大型项目的开发。所以现在市面上主流的后端开发语言,还是以Java和go居多。
那么在校生到底该选Java还是go呢?我这里先给出我最终的建议:
1. 如果是离毕业还有很久的童鞋(大二/大三/研一/研二),建议Java和go双修!
2. 如果已经大四或者研三,Java已经学到springboot了,校招直接深耕Java,可以用Java的简历去投go的岗位!
3. 如果已经大四或者研三,只学过点C/C++,或者Java的SSM都还没学完,可以考虑从0开始转go赛道!
无论是Java还是go,都非常适合现代大型项目的快速开发与迭代。这两门语言绝对分不出优劣!对于还未面临毕业的(大二/大三/研一/研二)同学,与其每天纠结到底是学Java还是go而无效内耗,倒不如两者都学。如果想快速上手后端开发,可以先按照我主页推荐的go语言极简学习路线学习,再慢慢去啃各大培训机构几百个小时的Java全套教程。如果你身边有小伙伴已经学了Java可以为你指点迷津,那就先学Java,学到springboot熟练上手做项目后再回来学go的基础语法。
对于即将毕业的(大四/研三)同学,如果Java都已经学到了springboot并且很熟练了,那么在拿到校招offer前学go的意义不大,建议直接深耕Java,哪怕拿到的offer需要使用go,那么拿到offer后再学go也完全来得及;而如果spring都还不熟的同学,现在继续深耕Java很可能来不及了,Java的学习重心从来都不是语法,而是Spring全家桶这个大头,如果即将毕业还只会点Java皮毛,那么直接学go潜在收益相对大一点!
最后说一句,无论是Java还是go,亦或是C++和python,都是非常优秀的编程语言,没有孰优孰劣之分,只有各自擅长的领域不同。今天我们只讨论后端开发,而不涉及人工智能、数据分析和游戏开发等领域,所以只讨论Java和go。盲目纠结学Java还是go,而不考虑学校背景、就业方向、发展城市、个人时间自由度的做法也不可取!最后希望各位在校的童鞋可以根据自身实际情况,做出最舒服的选择!