看了一圈,很多人的回答都不够直接,对于新手来说,最需要的是最直接有效的答案,偶来怒答一记。
首先偶的观点是,编程语言只是工具,每种编程语言都有自己的优势与适用的场景,编程语言是帮你解决实际问题的,而不是用来辩论那种语言是最好的,很多企业都是用不同的语言来解决不同的业务问题,比如有创业公司想快速开发,可能会选择 Ruby、Rails,有的要解决实际的性能问题,注重高并发、低延迟那也许会选择 Go,有的企业追求稳定成熟的解决方案,可能会选择 Java,有的专注在 iOS、Android 平台的开发,那就会选择 Objective-C 和 Java 等等等,有些企业甚至会混合不同的编程语言,来解决不同的业务场景。
但是题主说了,题主是新手,那姑且认为你以前没有 什么编程经验,那么现在想要学习一门编程语言的话,其实主要关注三点:
未来前景;是否易学;是否好找工作;
其实从 0 自学的话,未来前景很重要,其实也就是所谓的风口,雷军说过:站在风口,猪都能飞。足以说明风口非常重要,互联网 PC 时代,PHP、.NET、Java Web 开发网站很火,移动互联网时代 Android、iOS 是主流平台,自然 Java 和 Objective-C 比较火。
之前公众号「googdev」很多读者问偶一些关于编程问题的时候,偶就说过,偶在 11 年自学编程的时候,其实刚好是赶上了移动互联网的风口,虽然那时候偶 0 基础,但是偶选择了移动开发,这个选择就缩小了跟那些科班生起点的差距,虽说现在混的也不咋的,但是当初偶如果选择了 PHP、.NET 这种方向,偶可能远不如现在混的。所以说,偶个人的经历也证明了,风口非常重要,选择一个对的方向,赶上了风口,可以让你快速的前进。
而现在移动互联网早已不如前几年那么大热,会这个的人很多,很多企业的需求也没那么大,要求却很高,所以说现在如果再想学编程偶是不建议再学移动开发了。未来虽然无法准确的预测,但是大家可以看到一些大方向:
未来五年甚至十年都将是人工智能的天下,而人工智能领域的应用语言 Python 毫无疑问是主流,Go 次之,但是还远比不了 Python 在人工智能领域的应用,从 Stack Overflow 的调查报告「The Incredible Growth of Python – Stack Overflow Blog」也可以看到,Python 在今年大热,已经成为今年最火的语言,再加上人工智能大量依赖数据,Python 在数据分析、数据挖掘方面也大有发挥之处,所以,Python 已经成为未来最火的语言之一了。
当然有人会问了,Python 这么火热,以后会不会竞争很大?
Python 之所以这么火热,是因为现在大家都对趋势很敏感了,越来越多的人都在焦虑自己会淘汰,所以很多其他编程语言的从业者都在关注、学习、使用 Python,但是真正敢于放弃本职工作,全职转行 Python 开发的人跟整个编程行业的人相比还是少数的,更何况,在一个新的时代即将到来,相对应的需求本就大,所以,一旦人工智能技术有所成熟与突破,Python 的需求还会更大。
再说到易学性,其实 Python 相比较大部分语言来说,都算是很容易上手的,语法很清楚,没有那么多复杂的概念,适合新手学习。
而除了人工智能之外,Go 语言的潜力也很大,Go 在处理高并发的分布式系统上应用很广泛,性能很高,而且未来在区块链技术相关应用中也会有不少发挥,还是 Google 的亲儿子,但是 Go 的易学性不如 Python,对新手还是有一定门槛的,而且应用的广泛性也不如 Python。
最后说下 Java,Java 这种老牌编程语言,虽然一直被诟病语法臃肿,但是其实随着 Java 版本的更新,已经逐渐支持了很多新语言的特性,并且因为 Java 很成熟,不止语言成熟,很多成熟的解决方案、中间件都是基于 Java 的,Java 可用的库太多了,以至于现在大部分公司都离不开 Java,而且 Java 还可以用来开发 Android 移动应用,所以也许未来 Java 不是最有前景的语言,但是 Java 在未来很长一段时间内都会是不可或缺性的语言,相关的工作岗位也自然一直有需求,而且 Java 语言的易学性也很高,适合新手,大部分大学甚至早都开设了 Java 课程。
所以,综上,结合未来的前景,以及对新手的易学性,是否好找工作几个点,偶推荐题主现在如果想要学习一门编程语言的话,首选 Python,Java 次之,最后考虑下 Go。