之前我的知识星球内有人问过这么一个问题,当时做了一个回答,今天在知乎上也看到一个类似的问题,看到很多人的答案都模棱两可,给你说一大堆套话,新手如果可以理解的话就不是新手了,对于新手来说,最需要的是直接有效的答案,故怒答一记,也顺便把我的看法发在公众号「googdev」上,希望可以给部分读者有所参考。
对于很多打算学习编程的新手来说,那么多编程语言着实不知道该如何选择,也不懂未来到底哪种编程语言最有前景,哪种最好找工作,那么今天说下我的一些看法。
首先我的观点是,编程语言只是工具,每种编程语言都有自己的优势与适用的场景,编程语言是帮你解决实际问题的,而不是用来辩论那种语言是最好的,很多企业都是用不同的语言来解决不同的业务问题,比如有创业公司想快速开发,可能会选择 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 的调查报告也可以看到:
stackoverflow.blog/2017/09/06/…
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。
PS:以上只是针对想要学习编程的新手的一些建议,个人观点,仅做参考。
本文原创发布于微信公众号「googdev」,编程、职场、思维,关注并回复关键字「GitHub」、「Android」、「Python」、「Java」、「AI」等获取免费学习资料。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/9480.html