关于高级编程语言的统计数据和观察.docx
《关于高级编程语言的统计数据和观察.docx》由会员分享,可在线阅读,更多相关《关于高级编程语言的统计数据和观察.docx(12页珍藏版)》请在冰豆网上搜索。
关于高级编程语言的统计数据和观察
关于高级编程语言的统计数据和观察
比较编程语言是一个非常复杂的事情,如下所示有很多图形插图/笑话试图符号化编程语言。
简单地说,编程语言使人类能够指导和控制机器,自然而然的产生很多语言,试图使这个过程更强大和简单。
成百上千的编程语言,其中许多编程语言现在不再使用,有些会在未来几年被废弃,有些语言将继续使用,并证明它的价值,也会有新的编程语言来争取替代旧的语言。
本文准备了两个表格,总结了编程语言过去五年(2015-19)的流行趋势。
数据取自Stackoverflow人气调查2015-19。
为了清楚和准确地理解,将编程语言分为两组,第一组是2000年前有起源的语言,第二组是2000年后出现的语言。
选择2000作为边界只是随机的,但非常有助于了解这两个组下的编程趋势。
该表还列出了这些编程/脚本语言的源年和主要用途.
语言
起源
2015
2016
2017
2018
2019
主要用途
Javascript
1995
54.4%
55.4%
62.5%
71.5%
67.8%
Web开发、动态内容、客户端和服务器端
Java
1995
37.4%
36.3%
39.7%
45.4%
41.1%
企业应用
Bash/Shell
1971/79
–
–
–
40.4%
36.6%
自动化和系统管理
Python
1991
23.8%
24.9%
32.0%
37.9%
41.7%
通用用途
PHP
1995
29.7%
25.9%
28.1%
31.4%
26.4%
Web开发,服务器端
C++
1980/83
20.6%
19.4%
22.3%
24.6%
23.5%
通用用途
C
1972
16.4%
15.5%
19.0%
22.1%
20.6%
通用用途、低级编程
Ruby
1995
8%
8.9%
9.1%
10.3%
8.4%
网络开发
R
1993
–
–
4.5%
6.0%
5.8%
统计计算
Objective-C
1986
7.8%
6.5%
6.4%
7.3%
4.8%
通用用途
观察:
从2018年到2019年,除Python之外,所有语言的受欢迎程度都在下降.
Python
Python是过去五年以来唯一不断崛起的语言。
它是一种通用用途语言,所以有人想在2020年只学习一个编程语言,并希望涵盖软件开发的更多领域,Python是一个选择.
Java
Java一直在上升,但在2019年开始下降,原因可能是Kotlin在Android平台上越来越受欢迎。
Java是编程语言的一个很好的选择,但由于谷歌正在推广Kotlin,它们是冲突的。
事实上,由于Java的开发人员基础、框架和遗留应用程序,大量公司仍然会继续使用Java。
C/C++
CC++仍然持有约20%占比,它还会在那里,是因为它固有的功能和遗留系统。
Javascript
JavaScript的普及可以归因于流行的JavaScript库和框架(如node.js)等的增长。
JS是动态网站的语言,因为它的积极发展,Mozilla的支持,大量的库和框架,将会继续流行。
所以,想成为Web开发程序员,javascript是必须的。
R
近年来,R越来越受欢迎,原因应该是数据分析的增长和普及。
数据科学家使用它,但与Python相比,还是落后很多,Python已经成为一门通用用途语言,并且拥有大量数据科学库和模块的活跃开发人员。
因此,如果只能选择一门语言,Python更受青睐;如果做数据科学方面的移植,两者都学也是不错的。
Ruby
与PHP,一样,Ruby作为后端开发编程语言也面临着来自JavaScript甚至Python的严峻竞争。
对于Web开发程序员来说,javascript和Python(服务器端(Flask、Django等),会是一个不错的选择,比Ruby有更多的领域灵活性.
Php
2019年PHP的普及率急剧下降,原因可以追溯到服务器端对javascript和Python的接受。
因此,如果有人想去服务器端Web开发,PHP仍然是一个很好的选择,因为有大量的流行框架,比如CakePHP,Codeigniter,等,否则选择通用编程语言会更好。
Objective-C
在苹果转向Swift语言之前,Objective-C是苹果软件的主要开发语言,比如macOS、iOS等。
Objective-C的受欢迎程度下降,Swift的受欢迎程度正在上升。
所以,如果有人想成为苹果产品的开发人员,那么Swift应该是首选的语言。
语言
起源
2017
2018
2019
Swift
2014
6.5%
8.3%
6.6%
Go
2009
4.3%
7.2%
8.2%
Kotlin
2011
谷歌支持
4.7%
6.4%
Scala
2003
3.6%
4.5%
3.8%
Juila
2012
–
–
–
C#
2001
34.1%
34.4%
31.0%
Rust
2010
–
–
3.2%
Clojure
2007
–
–
1.4%
观察:
Swift
Swift已取代Objective-C成为Apple相关软件和应用程序的主要开发语言。
主要是因为它得到苹果的支持和推广,所以自创立以来,它的受欢迎程度有增加,随着苹果将继续这样做,所以如果有人正在寻找Apple特定的开发平台,那么Swift将是一个必须知道的编程语言。
Swift主要是供应商和产品特定的开发语言,在苹果的生态系统之外使用率非常低。
Go
Go(Golang)由于谷歌的维护、使用和推广,越来越受欢迎。
Go发展的动机是解决对一些流行语言的批评,并取其精华。
自2017年以来,Go的受欢迎程度一直上升,主要是优越谷歌的支持。
谷歌还把Go作为新项目的主要语言,并用Go取代其他语言,这种趋势将使得在未来几年学习Go变得有用且重要,因此可以选择Go作为新的编程语言。
Kotlin
Kotlin被作为Android开发的替代产品提供,得到谷歌的支持和推广,并在近年来越来越受欢迎。
随着Android的增长,谷歌的支持,干净和简短的语法,这将是Android应用程序开发人员的一个很好的选择.Kotlin作为Android开发的杰出编程环境是一个亮点.
Scala
Scala试图作为Java的替代语言,但在开发人员中并没有得到很好的发展,也没有得到任何跨国公司的大力支持,作为功能语言和对JVM的依赖并没有多少上升空间。
可能会稳定增长,但速度非常缓慢,不适合初学者。
Julia
Julia旨在带来"C"的速度和Python的简单性,但奇怪的是,在Stackoverflow调查中没有发现任何受欢迎程度,但在数据科学领域越来越受欢迎,从长远来看,它被视为R和Python的挑战者。
虽然Julia会有增长,但是Python或R对工作和增长更好。
C#
C#是.NET框架的语言,由Microsoft开发。
其受欢迎程度在过去几年中是恒定的,并将继续这样的趋势。
这是特定于供应商的语言,因此,如果要在Microsoft开发环境中工作,可以选择此语言。
最近,Microsoft开放源的.NET,因此会有一些上升趋势,但同样它是特定于供应商的,因此不会受到太大的影响。
Rust
Rust,Clojure等语言有一定的用户群,但不太受欢迎,所以肯定不会在人气上有所上升。
统计图
图1和图2给出了一个非常清楚的画面,在旧语言中,在Web开发中JavaScript遥遥领先于其他语言。
C和C++一起竞争非常接近Java。
.Python的受欢迎程度正在上升,而且只有这么一个语言的受欢迎程度是在近5年内一直上升。
新语言越来越受欢迎,大多数语言都得到跨国公司的支持,像微软、谷歌和苹果这样的IT巨头.
图1
图2
受开发人员喜爱的语言
编程语言
2015
2016
2017
2018
2019
Rust
73.8
79.1
73.1
78.9
83.5
Kotlin
0
0
0
75.1
72.6
Python
66.6
62.5
62.7
68.0
73.1
Go
72.5
68.7
63.3
65.6
67.9
Swift
77.6
72.1
63.9
65.1
69.2
从上面的表和图来看,一些观察是非常明显的,最近5年,Rust正在增长,而Swift正在失去开发者的喜爱。
Python最近两年受喜爱程度在上升。
一个比较有意思的观察是,在5个喜爱的语言中,4个来自2000年后这一组,而只有Python是较老的语言,Kotlin是2017年后作为Android开发的一门语言。
编程语言
2015
2016
2017
2018
2019
JavaScript
15.4
11.9
18.6
19.0
17.8
Python
14.8
13.3
20.6
25.1
25.7
Java
10.5
–
11.7
10.5
8.3
从上表可以看出,在javascript和Python中发展的愿望近些年一直在增长,这反映了对语言的流行和热爱。
Java的急剧下降,这是因为Kotlin作为Android应用程序开发的替代语言,以及现在拥有Java的Oracle更改了策略。
技术和编程语言
在此图中,可以看到最大的群集是Web开发和JavaScript,其各种框架主导了JavaScript增长的USP群集。
第二大集群是微软技术和Python技术,这再次表明了Python语言的流行和热爱。
Python集群与数据科学技术链接,这些技术突出了Python的增长故事.
TIOBE指数
TIOBE指数是基于搜索引擎搜索结果来排名编程语言的。
评分通过计算最流行的搜索引擎的点击率来计算。
使用的搜索查询是+"<语言>编程"。
在TIOBE指数中,Java是过去20年排名的主导者,其中C在30年中排名或第一或第二。
Python过去20年已经大有作为,即1999年排名第24位,2019年排名第3位。
如果将C和C++合并,那么它将永远排在第一。
在新的编程语言(2000年后)中,Rust的排名上升,即从第33位上升为第28位,Julia从第50位上升至第39位。
值得注意的是,Kotlin似乎并没有接近前20名。
编程语言流行(PYPL)指数
PYPL索引是通过分析在谷歌上搜索语言教程的频次创建的。
搜索的语言教程越多,就假定语言越流行。
这是一个领先指标,原始数据来自谷歌趋势.
下图验证前3种语言是Python,Java和JavaScript。
C#、PHP、C/C++也确保了顶部位置,这一趋势类似于stack-overflow和TIOBE指数.
上图显示,2000年后的新编程语言,比如Kotlin、Go、Rust和Julia,排名在上升。
就业市场和工资
工资取决于产品的地理区域和需求,基于编程语言的薪酬比较只是预测或估计工资趋势的工具。
我们根据热门调查(即2018年Dice工资调查、2018-2019年的Stack-overflow调查)的编程语言汇总了薪酬。
编程语言
Dice工资调查(2018)
Stack-overflow调查(2018)
Stack-overflow调查(2019)
Go
$132,827
$66000
$80000
Perl
$110,678
$69000
Shell
$109,518
$6300K
$69000
Node.jsJavaScript
$105,418
$55000
$56000
Java/J2EE
$105,164
$52K
TypeScript
$103,680
$60000
$60000
Python
$103,587
$56000
$6300K
Ruby
$102,086
$64000
$75000
Swift
$101,631
$57000
$59000
C#
$101,566
$59000
$59000
从上表中可以非常清楚地看出,Go/Golang是市场上一份高薪工作,在2019年stack-overflow调查和2018年Dice薪资调查的高薪职位中甚至排名第一。
.