这对各位学编程的同学们可是极为具有参考价值的哟!!!科学技术工程数学(STEM)人才供不应求、薪水丰厚,这早已不是什么新闻。年至年,美国网上发布的软件工作岗位增加了31%,增长速度是总体工作岗位的近3倍。美国劳工统计局估计,从年至年,软件开发员岗位会继续以22%的速度增加,截至年5月,应用软件开发员的中位数年薪就达到美元。
如果你打算学习如何编写代码,会发现编程语言的绝对数量多得惊人,到底该学习哪门语言呢?本文比较了与不同编程语言有关的薪水、人气和
就业前景,希望对你有一些帮助。编程语言概述在我们开始比较编程语言之前,不妨先看一下将要介绍的几门语言。动态类型语言
通常认为动态类型语言对非编程人员来说更容易学用,因为它们很灵活。你不需要编写太多行代码,就能迅速从头开始构建起一个应用程序;也没有硬性规定表明如何编写代码,才能让代码以你想要的方式运行。动态类型语言常常是解释型(非编译),这意味着运行中的应用程序可迅速体现你所作的变化,可以为你节省时间。
一般来说,Web应用程序通常是用动态语言编写的。JavaScript别将JavaScript与Java混为一谈;JavaScript主要是一种客户端脚本语言,用于前端开发。JavaScript在所有浏览器之间相互兼容,用来构建交互式Web应用程序,常常通过代码库(比如jQuery)和前端框架(比如AngularJS、Ember.js、React及更多框架)来构建。
JavaScript现在还可以通过Node.js平台,用作一种服务器端语言。虽然Node.js比较新,但社区的发展势头很猛。你还可以通过使用PhoneGap之类的框架,借助JavaScript来构建混合移动应用程序,而Facebook的ReactNative旨在让你可以借助JavaScript来构建原生移动应用程序。
捎带提一下,Facebook的React还支持JSX,这种JavaScript语法扩展可以像JavaScript那样编译。RubyRuby旨在让开发员在高效工作的同时享有乐趣,它因RubyonRails框架而流行起来,这种全堆栈Web框架经过了优化,确保编程过程中不失乐趣。由于Ruby与英语语法很相似,Rails又有让常见开发任务“在默认情况下”更容易完成的工具,许多人会建议将Ruby选为你的第一种编程语言。
Ruby最常用于后端开发;像Airbnb、Shopify、彭博社(Bloomberg)、Hulu、Slideshare及更多热门网站就是用RubyonRails构建的。PythonPython是强烈建议初学者上手的另一种语言,它也是美国知名大学最流行的入门语言。开发员使用Python来构建桌面应用程序和Web应用程序,它还有用于数据挖掘的优秀工具。此外,Python在学术界尤其备受欢迎,用于科学计算、数据分析和生物信息学等领域。
谷歌、Dropbox、Pinterest、Instagram、Reddit、BitTorrent、CivilizationIV及更多网站就是用Python构建的。PHPPHP是一种服务器端脚本语言,通常被认为适合初学者上手,因为PHP代码要完成的任务比较容易概念化,所以学起来不难上手。大多数网站是用PHP构建的,因为这种语言专门面向Web。
Facebook、维基百科、雅虎、Tumblr、WordPress及更多网站就是用PHP构建的。静态类型语言
众所周知,用静态类型语言构建的应用程序更易于扩展、更稳定、更易于维护。静态语言通常比较苛严(通过类型检查来发现错误),需要编写更多的代码来构建原型。游戏引擎、移动应用程序和企业级后端通常是用静态类型语言构建的。Java作为一种通用语言,Java用来构建安卓应用程序、桌面应用程序和游戏。Java还常常用作一种服务器端语言,面向企业级后端开发:《财富》强公司中90%使用Java。
此外,Hadoop是一种广为流行的基于Java的框架,用来存储和处理大数据,雅虎、Facebook和亚马逊网络服务(AWS)等知名企业实施了该框架。CC常常用来编写系统软件,是诸多操作系统的通用语。
C影响了我们在本文中要介绍的几乎所有编程语言,尤其是Objective-C和C++。所以,如果你很熟悉C,其他流行语言学起来恐怕难度不大。由于C需要编写更复杂的代码来执行简单任务,如果初学者选择它作为第一种语言,可能很难保持十足的劲头。不过,掌握C方面的知识对于编程工作肯定大有帮助。Objective-C/Swift(面向iOS开发)Objective-C是基于C语言上的一层,让它具有静态性,但它也可以用于动态类型。苹果的Swift是一种静态语言,旨在与Objective-C兼容,但其静态类型让它对错误有更强的适应性。
Swift的灵感源自Python,旨在让编程新手易学易用。由于Swift比较新,我们在本文中主要介绍Objective-C。C++C++是一种基于C的强大语言。它是为编写系统软件而设计的,不过也用来构建游戏/游戏引擎、桌面应用程序、移动应用程序和Web应用程序。C++功能强、速度快,所以连Facebook也用它开发了几个高性能高可靠性的组件。
许多款软件是用C++构建的,包括AdobeSystems、Amazon、Paypal、Chrome及更多软件。C++酷似C,通常被认为初学者自学起来比较难。C#C#是为了用于微软的.NET框架而开发的,这种框架目前主要在微软Windows上运行。
C#用于Web开发、游戏开发和一般的微软开发。虽然微软在过去并不以跨平台兼容出名,不过初创公司Xamarin也在开发一个名为Mono的开源项目,旨在将C#移植到其他平台上,为广大Linux开发员带去更好的开发工具。最近,你还可以通过Xamarin,使用C#来构建面向iOS和安卓的原生移动应用程序。其他语言SQLSQL(结构化查询语言)是一种用来与数据库进行联系的查询语言。虽然SQL无法用来构建应用程序,但可以用来管理使用关系数据库管理系统(RDBMS)的应用程序中的数据。就业机会好了,现在你对编程语言有了一点了解,可能对它们所谓的难度也有了一点了解。不过,并非所有语言都有一样的需求或薪水。如果你学习编程的目的是获得就业机会,也不会被别人说某种语言学起起来多难打消念头,下面这些可以帮助你弄清楚应该学哪种语言。
从来自indeed.
平均薪水会受到许多因素的影响,比如需求(有多少工作岗位)、供给(有多少开发员掌握该语言),以及资历(初级开发员的薪水自然低于高级开发员),所以有必要在下任何结论之前,更深入地分析一下这些因素。就业趋势凭借你熟悉的那种编程语言,找到工作的可能性有多大?这里简要分析了来自indeed.
相比其他语言,面向C#开发员的工作岗位仍很多;对其他开发员的需求似乎相差无几。C++开发员的相对需求有所减少。
不过,如果你的目的是供职于初创公司,那么来自indeed.
另一方面,PHP方面的人才似乎供给充足,这意味着雇主们会有更多的选择,因而在薪水方面有更大的议价能力,但是我们发现它的需求量不如Java、SQL或JavaScript来得大。因此,PHP开发员的薪水较低。
JavaScript的情况比较特殊。尽管人才供给最多,但它在薪水档次中并非垫底,我们会在文章后面分析一下JavaScript。薪水区间你已大致了解了每种语言的供需情况,不妨根据来自工作广告的薪水信息,看一下你有望获得的潜在薪水。数据基于来自gooroo.io的数据,薪水通常作为每份工作广告提供的薪水区间的平均值而获得。你在这里可以看到,熟悉Python、Ruby、C++或ObjectiveC的开发员似乎有更高的起薪,但是涨薪空间也比较有限。Python和C++往往处于潜在薪水区间的较高端。
Java和JavaScript的最低所出薪水与最高所出薪水之间的差异都很大。尤其是,截至年4月,JavaScript为熟练开发员提供的潜在薪水最高,目前为美元。
北京白癜风哪家最好白癜风治疗需多少钱
转载请注明:http://www.nydjfy.com/lsqy/lsqy/2895.html