论坛君:如果你想开始学编程,面对众多的编程语言那么问题来了,初学者应该如何选择最适合自己学习的语言呢?本文通过比较不同编程语言的薪酬、热门程度和发展前景等角度,对想学编程的小白们提一些建议。
来源: CDA 编辑团队
想测试自己适合哪种语言,快速精准定位自己究竟有哪种语言天赋?不妨点原文链接,测试一下就知道!
大多数人学习编程的计划开始于某一天的深夜谷歌搜索。
“我应该先学习哪种编程语言?”
不同的语言也各有特点,比如以下这篇漫画:
决定你的第一个编程语言是一个有趣的过程,有点像 “你属于昆汀电影中的哪个角色?”的人格测验。
但是,在你以小孩玩泥巴的心态跑去学习 Ruby 之前,给你提个醒:这个赌注相当高。
它可能会耗费你上百个小时去练习,但你远远不会胜任你第一个编程语言。
因此,你要考虑以下因素:
◆ 语言的就业市场
◆ 语言的发展前景
◆ 语言的学习难度
众所周知,不同编程语言的市场需求和薪酬水平都是不一样的。 如果你学习编程的目标是为了工作,且不会因为这种语言的学习难度而轻易放弃的话,以下是一些帮助你选择语言的数据。
招聘网站 Indeed 通过对程序员招聘广告的薪酬分析,将不同编程语言的年薪分为 9 个层次:
从薪酬的角度看,从 Swift 的年薪最高,同时 Java,Ruby,Python,C ++ 和 C 也是不错的选择。 如果薪酬是你所最关注的,那么 JavaScript,C#,SQL 和 PHP 看起来并不是理想的选择。
薪酬可以受许多因素的影响,例如市场需求(发布了多少招聘信息),供应(有多少开发者掌握这门语言)以及经验(初级开发人员的薪酬自然低于高级开发人员)。从而在得出最终结论之前,需要好好分析这些因素。
那么你所掌握的编程语言有多大的可能性找到工作呢? 下面看一下 Indeed 关于程序员招聘的近几年的变化趋势:
可以看到掌握 C,SQL,Java 和 JavaScript 在工作招聘中需求很大,同时 C#,C ++ 和 Python 的需求量也不错。
但如果你的目标是在创业公司工作,或许来自 indeed.com 的分析不是很据参考性。
创业公司发布招聘信息时常会选择 AngelList,下面看一下 AngelList 中招聘广告中对编程技能需求情况。
再次显示 JavaScript 需求量最大。
同时对于创业公司,比起 Java,C,C ++ 和 C#,更青睐掌握 Python 和 Ruby(Ruby on Rails)的程序员。
让我们来看看 Codementor 上的程序员都掌握哪些语言:
当然,这仅在一定程度上反应了市场的情况,这决不是对实际市场供应的准确描述。 正如所看到的,Objective-C 专家是非常稀缺,但移动应用程序业务已经繁荣了一段时间了。 由于 Objective-C 开发者的稀缺,他们的报酬自然很高。
另一方面,PHP 开发者的供应量很理想,这意味着雇主将有更多的选择,在薪资方面雇主也更有话语权。但其市场需求量不如 Java, SQL 或 JavaScript 。 所以,PHP 开发人员收入较少。
JavaScript 算得上是一个特例,尽管有最多的市场供应,但薪酬并不是位于底部。
现在你已经了解了每种语言的市场需求和供给,接着让我们跟据 gooroo.io,具体看看工资水平。当中的薪资为招聘广告给出的薪水范围的平均值。
在这里可以看到,Ruby,C ++ 和 Java 的开发人员有更高的起薪。 Python 和 Ruby 的最高工资是最高的,这说明优秀的 Ruby/Python 开发人员很少,但市场需求大。
JavaScript 的最高年资比起往年大幅下降,2015 年 4 月高达约 188k 美元,但 2016 年下降到约是 124k 美元。
每种编程语言会有怎样的发展前景?
首先,语言发展在很大程度上取决于其开发者群体的增长,新鲜血液的注入和普及率对语言发展十分重要,这能确保其继续拥有市场资源。下面让我们来看看人们对哪种编程语言最感兴趣:
看起来 Python,JavaScript,C# 和 Swift 的关注人群得到了很大增长。 基于目前已知的分析情况,我们可以得出以下结论:
作为编程初学者应该怎么选择最适合自己的语言?
显然,如果你想进入 web 开发,无论你喜欢还是不喜欢,你必须学习 JavaScript 。 如果你想做 Web 服务端开发,你必须学习 SQL 。
此外,如果你想从网站搜集数据,或者有兴趣成为一个数据科学家,那么 Python 是一个很好的选择。
如果你想去企业工作,那么建议你学习 Java 。
如果你实际上对建东西没有兴趣,对工作机会更感兴趣,那么也许 SQL 是一个很好的开始(特别是如果你喜欢数学)。
总而言之,你适合学习什么编程语言,最终将取决于你想做什么。
Ref:
https://medium.freecodecamp.com/what-programming-language-should-i-learn-first-%CA%87d%C4%B1%C9%B9%C9%94s%C9%90%CA%8C%C9%90%C9%BE-%C9%B9%C7%9D%CA%8Dsu%C9%90-19a33b0a467d#.2n8qpl5hx
https://www.codementor.io/learn-programming/beginner-programming-language-job-salary-community