年底深度解析编程语言,哪一款能让你月薪破万?

发表时间: 2017-12-27 14:09

前几天,在知乎上看到这样一个问题:

“Java、C++、Python、Go、Js等语言,未来几年内,学哪个更容易找工作?

很多新人会纠结于第一门语言该学啥,比如后端开发,Java、Python、Go都可以,但总不能一口气学三门吧?最关心就业,学完容易找工作最重要,想请教各位学什么好?”

这些话说到了我的心坎里,共鸣多,和我刚毕业时的疑惑一样,只可惜那时候没人指点我。我认真研究了众多大牛的高见,综合整理后,给大家一份回答。

切记,适合自己的才是最好的。我会对这些语言做一个剖析,最后给你一个建议。

1、Java,85分

从Java1到Java8,经过十几年的沉淀,各种库都很齐全,不会像新兴语言一样出现些奇怪的设计,比较适合初学者学习。通过学习Java,基本可以涵盖主要编程思想和数据结构,再学其他语言也比较容易。

Java是一门商业化很成功的语言,学校,市场,整个生态链非常成熟。工作跨度很大,从几个人的小公司,到FLAG,BAT,求职和招人都很容易。

但同时大家肯定也都注意到,Java近来在TIOBE榜上狂跌近5个百分点。很多人担心它要过气了,但负责任地说,瘦死的骆驼比马大,它虽然份额下降,但未来几年仍会引领编程语言排行榜

用武侠类比,Java和C++便是少林武当,Js,Swift这些就是九阴白骨爪,大力金刚指什么,学好了内功再去学这些东西,保证威力大增,但若一上手就去学神功,容易遇到瓶颈,不利于之后提升。

2、C/C++,75分

刚提到了C/C++,索性就说说它吧。最接近机器码,在性能上无出其右。服务器,数据库什么的肯定选它们。但门槛太高,把程序写好不容易,就看你肯不肯吃苦了,如果你是那种毅力不太够的同学,劝你早点死了这条心。

值得肯定的是,它们是最深厚的内功,如果你目标很远大,学好C/C++以后,发展一定越来越顺。

3、Python,95分

为什么会给它95的高分,想必大家心里也已略知一二。

数据分析、数据挖掘、爬虫、金融领域、生物学、科学计算领域这些看起来高逼格很赚钱的行业,全都需要用到Python。大家都想多赚钱,而Python钱景无限。

2017年IEEE发布编程语言排行榜中,Python高居首位。

国务院都亲自表示要重视人工智能的发展,而它的发展必然会给Python提供更多更广阔的发挥舞台。单是这一点,其他语言就相形见绌了。

4、Js,80分

短时间内不会出现第二种语言代替它的位置,不可替代性高。

从以前的PC互联网时代到现在的移动互联网,它一直都是主流,前端应用越来越重要,js是绝对的王者编程语言。但是并不意味着学了就容易找工作,具体不赘述,日后再说。

5、Go,75分

后起之秀,诞生没多久便吸引了足够多的眼球,10年的发展使其越来越稳,更是在2016年荣获年度编程语言。它博采众长,去掉了很多无谓的东西,一切以使用为目标,兼具性能和开发效率,被称为互联网时代的C语言,未来不可估量。

但!重点是,如果你现在想学一门语言来找工作,就要往深再考虑一层了。

所谓的“未来”,你不知道是什么时候,你等的起么?就算Go真火了,也无法预料它在国内能否大火,国内的开发群体不太喜欢换工具。

关于“地域问题”,顺带提一句,毕竟你不一定要生活在北上广,也不一定做互联网。对于新的东西,渗透到其他行业需要过程,可能Go已经很火了,然而你回到家乡省会,还是找不到岗位,其他小众语言亦是如此。但是对 Java和PHP 这种常青树,却有着一定的需求。

一般用Go的公司门槛都比较高。Go经常用在高并发,低延迟的系统。有这种需求的公司,还需要对操作系统,分布式,缓存,负载均衡等有一定了解,不是学了一门语言就能进去的。

所以,在你看清这些之后,如果你还是义无反顾选择Go,那才是真爱,就好像选择你的另一半,若是认定了这支是潜力股,就从一而终吧。

6、新兴编程语言,70分

适合锦上添花,不适合雪中送炭。

客观来说,它们真的很不错,比如Scala、Kotlin、Swift、Clojure等等,都在具体某一领域占据优势,比如Scala于Spark、Kotlin于Android、Swift于iOS。Clojure作为Lisp系的最佳表现,有Storm的招牌应用,亦可称霸一方。

只是,你是为了找工作,这些市场需求相对来说小得可怜。等你以后有了经验,再来学这些也不晚。

7、PHP,2333分

都说PHP是全世界最好的语言,对于这个有争议性的家伙,我还是不多说了,大家百度一下就好。

回到最初的问题:年底了,明年该学点啥?

目前的主流语言,在可以预见的时间范围内,衰败的可能性都不太大,选一门认真深挖,第一推荐Python,第二推荐Java。

其实,语言具不具有前景,对个人的影响不大,因为在刚入门的时候,这些东西都离自己太远。少些选择,多一些专注吧。

以上回答,仁者见仁,智者见智。希望能对IT新人有所帮助。

最后,小编想问一句,你想学习哪个编程语言呢?评论区,评论给我,送你一套教程可好?