编程语言是人类掌控电脑的手段,所以绝大多数编程语言都企图使这个过程更为强劲和非常简单。也于是以因此这个领域问世了数百种编程语言,不过其中许多编程语言目前早已仍然用于,还有一些有可能在未来几年里不会过时,然而还有很多语言将大大发展,在目前以及未来都占据最重要的方位。
较为编程语言是一件非常复杂的事,因此我们创作了很多冷笑话的图片或段子用来传达对各种编程语言的定义,本文就以下图开始吧:下面获取的两个表格总结了过去五年(2015-2019)里编程语言的风行趋势。该数据来自2015-2019年的Stackoverflow人气调查。
为了确切精确地解读,我们将编程语言分成两组,第一组是2000年以前问世的语言,第二组是2000年以后问世的语言。将2000年作为边界是随机的自由选择,但对于解读这两组编程语言的趋势十分有协助。该表还所列了这些编程/脚本语言的起源年份和主要应用领域。
第一组仔细观察结果除了Python之外,从2018年到2019年所有语言的风行度都在上升。1.PythonPython是过去五年来人气大大下降的唯一语言。这是一门标准化语言,如果你期望在2020年只自学一门编程语言,并期望涵括更加普遍的软件开发领域,不妨考虑到Python。2.JavaJava的市场占有率仍然在大大下降,但在2019年有所上升,原因是东面Google的Kotlin在Android研发领域取得了很大的普及。
毫无疑问Java是一个不俗的自由选择,但它现在归属于Oracle公司,由于公司的商业利益冲突,谷歌正在推展Kotlin。事实上,由于用于Java的可观研发群体、框架和遗留应用程序,大量公司仍在用于Java并将之后用于Java。3.C/C++C和C++依然维持着约20%的市场占有率,并且由于其固有的功能和遗留系统,它将不会之后不存在。4.JavaScriptJavaScript的热门程度可归咎于诸如Node.js等风行的JavaScript库和框架的快速增长。
JavaScript是用作建构动态网站的语言,它将沦为未来几年Web研发的选用语言。而且,如果我们想展开Web研发,意味著无法绕过JavaScript。
5.R语言R语言近年来更加热门,原因在于数据分析市场需求的快速增长和普及。R语言主要是数据科学家在用于,与Python这种标准化语言比起,它享有贡献了大量数据科学库和模块的活跃开发者。
不过如果不能选一个的话,坚信更好的数据科学家不会偏向于Python。6.Ruby与PHP一样,在Web研发的后端建构方面,Ruby也面对来自JavaScript甚至Python的白热化竞争。
因此,对于Web研发而言,JavaScript和Python不会是比Ruby更佳的自由选择(Python的服务端框架Flask和Django),而且更为灵活性。7.PHP2019年,PHP风行度急剧下降,这可以追溯到服务器端对JavaScript和Python的接受程度。
如果有人想展开服务器端Web研发,PHP依然是一个很好的自由选择——有大量风行的框架,如CakePHP,Codeigniter等,否则自由选择标准化编程语言不会更佳。8.Objective-C在Apple迁入到Swift语言之前,Objective-C是研发Apple软件(如macOS,iOS等平台)的主要语言。因此,这种改变体现在两种语言的风行中,即Objective-C的热门程度上升,而Swift的普及率正在下降。所以,如果有人期望沦为Apple产品的开发者,Swift理所当然应当是选用语言。
第二组仔细观察结果1.SwiftSwift代替了Objective-C作为Apple涉及软件和应用于程序开发的主要语言。由于Apple的反对推展,因此自正式成立以来Objective-C的热门程度更加低,Apple也将之后用于它。如果有人正在找寻特定于Apple的研发平台,那么Swift将沦为一种必需告诉的编程语言。不过Swift主要是面向特定供应商和产品的语言,在Apple生态系统之外的使用率非常低。
2.GoGoogle大大地在确保、用于和推展Go语言。而它最初的进发动机是解决问题对一些风行语言的严重不足,同时将最差语言的特性集于一身。
自2017年以来,Go的热门程度更加低,并且在Google的反对下,它在未来几年内都将不会之后保持高速发展。Google也将Go作为新项目的主要语言后用Go代替其他语言,这种趋势在未来几年不会之后维持,因此如果想要自学一门新的编程语言,Go有一点享有。
3.KotlinKotlin最初作为用作Android研发的Java替代方案而很快“上位”。凭借着Android的快速增长、Google的反对以及其简练的语法,它沦为了Android开发者的一个可选方案,堪称自学Android研发的不俗自由选择。Kotlin将沦为Android研发的“拟合”方案。
4.ScalaScala企图代替Java,但开发者或许不过于接纳。它没来自任何大公司的大力支持,另外,由于Scala是一门函数式编程语言,以及对JVM的倚赖,使得它并没获得过于多的普及,虽然不会有平稳的快速增长,但速度极快,而且认同不是合适初学者自学的语言。5.JuliaJulia目的将C的速度和Python的简单构建在一起,但奇怪的是,在Stackoverflow调查中并没反映Julia的热门程度,但它在数据科学领域颇受欢迎,并且从将来来看它也被视作R和Python的挑战者。
当然,Julia不会之后快速增长,但对于工作和茁壮来说,Python或R更佳。6.C#C#是用作.NET框架的编程语言,由微软公司研发。
它的热门程度在过去几年中基本维持恒定,并将之后维持类似于的趋势。这是特定于供应商的语言,因此如果必须在微软公司获取的研发环境中工作,可以自由选择此语言。
最近,微软公司已开源.NET,因此它不会经常出现一些下降趋势,但它却是是特定于供应商的,因此会受到过于大影响。7.RustRust,Clojure等是具备用户基础但不那么风行的语言,所以人气方面会有过于大的下降。
一图胜千言要理解头部编程语言快速增长的明晰趋势和现状,可通过各种图表来理解它。右图刻画了一个十分明晰的现状,即在原有的语言栈中,JavaScript相比之下领先于其他的语言,并且将之后在Web研发中占有一席之地。C和C++联合与Java竞争,并且十分相似后者的地位。
Python的热门程度也更加低,而且在过去的五年里,它是唯一一个人气大大下降的语言。新的语言更加风行,其中大多数语言都受到跨国公司如微软公司、Google和Apple等IT巨头的反对。
开发者讨厌和期望自学的语言从上面的表格和图表我们可以看见,讨厌Rust的人数在过去五年中正在逐步快速增长,而Swift渐渐丧失了开发者的青睐,Python则正处于这两者之间。另一个独有的仔细观察结果是,开发者青睐的5门语言中有4门来自2000后问世的编程语言,且只有Python是较旧的语言,对Kotlin的青睐则就是指2017年Google官方反对它作为Android研发的一级语言开始。
从下诏可以显现出,开发者用于JavaScript和Python展开研发的心愿在过去几年中大大快速增长,这体现了大众对这两门语言的青睐。另外,Java在这方面的数据则经常出现了急剧下降的趋势,这是因为Kotlin沦为了Android研发的替代方案,以及Oracle对用于Java的政策再次发生了变化。
技术和编程语言在此图中,我们可以看见仅次于的簇集是Web研发和JavaScript以及它们的各种框架。第二大簇集是微软公司技术和Python技术,这里又再度印证开发者对该语言的青睐和热衷。
其中Python技术的簇集主要与数据科学技术涉及,这些技术与Python的快速增长息息相关。TIOBE指数用作对编程语言展开名列的TIOBE指数基于搜索引擎的搜寻结果。在TIOBE指数中,Java在过去二十年中仍然占有主导地位,C在过去三十年里也仍然维持着第一或者第二的方位。
而在过去的二十年里,Python的名列飞速快速增长,从1999年的第24名,到2019年的第3名。在新的语言(2000年后问世)中,Rust的名列下降显著,从第33位升到第28位,Julia也从第50位升到第39位。值得注意的是,Kotlin或许未曾转入过前20名。
PYPL指数PYPL指数的来源主要是通过分析语言在Google上的搜寻频率。被搜寻得越多意味著该语言就就越热门。原始数据来自GoogleTrends。
由右图可见,TOP3的编程语言分别是Python,Java和JavaScript。C#,PHP和C/C++也正处于头部方位,这种趋势类似于Stackoverflow的语言风行度和TIOBE指数。上图表明,在新的编程语言中,即2000年后问世的Kotlin,Go,Rust和Julia,它们的名列也在大大下降。低收入市场与薪酬薪酬各不相同产品的地理区域和市场需求,基于编程语言的薪资较为只是预测或估算薪资趋势的工具。
我们根据编程语言的风行调查对薪资展开了汇总,即2018年的Dice薪资调查和2018年和2019年的Stackoverflow薪资调查。从下诏可以显现出,Go研发是市场上薪酬十分低的工作,在2019年的Stackoverflow调查和2018年Dice薪资调查中,它都在高薪工作中名列第一。
原因只不过很非常简单,因为Go是Google反对的语言,主要用作Google内部,另外Google期望推展这种语言所以大自然不会用高薪来更有开发者。这里要托一个经济术语——价格弹性,企业对岗位的市场需求具备弹性,这就造成岗位的薪酬不平稳。
因此很显著,全球平均工资不是自由选择语言的合理因素。假如不存在一门相似衰败的编程语言,但应用于它的遗留系统很少,因此为了确保这些产品,公司往往获取十分低的薪酬,不过这些职位总是十分珍贵。另一方面,由于主流语言获取了大量的工作岗位,平均工资大自然就不会上升。
作为结束语,可以看见预测编程语言的趋势十分非常简单,但只自由选择一门语言来自学是一个十分艰苦的决择,这几乎各不相同个人自由选择和他们未来的计划。例如,如果你想要专门从事Web研发工作,那么你就无法忽略Javascript;如果你想要专门从事Apple产品的研发工作,意味著无法漠视Swift;如果你注目于系统的底层研发,那么C和C++不会是你的好朋友。
Python则不会让你在很多领域跑得更加慢,不过目前主要用作数据科学。所以,每种语言都会带上您走上有所不同的旅程。自由选择目的地,你必须做到的就是用于通向起点的语言。
本文来源:博业体育-www.lfmsl.com