过去十年,编程语言发生了很大的变化,随着互联网大时代的迈进,将来还会发生更多的变化。在最新发布的IEEE年度榜单中,Python仍占据首位。
我们都非常喜欢自己的设备。手机上的相机能够帮助我们记录人生中最宝贵的时刻,而互联网及其众多通信工具能够让我们与远方的朋友和家人保持联系。通常我们都不会想起为我们带来互联网的正是各种编程语言,但是我们也不能忽视最近某些编程语言的流行发生了变化。我们可以从这些变化中了解数字世界的发展方向,同时也可以回顾一下这段发展史。
排名第一:Python
上个月,IEEE综览(IEEE Spectrum)发布了各大编程语言的年度排名,许多人惊讶地发现Python保住了头把交椅的宝座。Python这种基于脚本的编程语言,一直在IEEE综览的排名中居首位。然而,这并不奇怪。IEEE对各大编程语言的评分进行了加权处理。去年,Python的得分为100、C++的得分为99.7、Java的得分为97.5、而C的得分为96.7。然而,今年编程语言的格局发生了变化。虽然Python仍以100分高居榜首,但Java成了第二名,得分却只有96.3——大幅下降。第三位的C为94.4,C++以87.5的得分滑落到第四位,而统计编程语言R以81.5的得分排在第五位。排名6-10的编程语言依次为JavaScript、C#、MATLAB、Swift和Google Go。
请注意,IEEE综览的排名包括支持电子和电气工程硬件以及软件应用程序的所有编程语言。IEEE根据8个数据来源,通过11个度量标准生成了该排名列表,其中的数据来源包括IEEE、Reddit、Stack Overflow、推特、Google、GitHub、CareerBuilder、Hacker News和GitHub。
IEEE是世界上最大的工程和应用科学组织,但其不是对编程语言进行排名的唯一组织。TIOBE也发布了软件编程语言的年度排名。TIOBE没有考虑硬件,在其排名中Java高居榜首,其次分别是C、Python、C++、C#、Visual Basic .NET、JavaScript、SQL、PHP和Objective-C。
对话程序员:各编程语言十年来的发展史
十年前的排名
2010年,在TIOBE的编程语言指数中,居于榜首的十大编程语言分别为:Java、C、C++、PHP、Visual Basic、C#、Python、Objective-C、Perl和Ruby。
2014年,在IEEE的首次排名中还出现了C#、PHP和Ruby。
发生了哪些变化?
有些编程语言(例如Ruby和Ruby on Rails),由于运行时的速度和启动速度不够快,无法支持全面的商业产品。而有些语言(比如PHP),由于安全性的问题导致Facebook等公司放弃了使用。
Python、Java、JavaScript和C属于通用语言,所以它们都得到了广泛的使用。尤其是Python,它有许多专门的库支持机器学习、深度学习(Theano)、人工智能以及微控制器和小型计算机(比如Adafruit、Arduino和Raspberry Pi)。此外,它还拥有方便Python代码与其他产品和库结合使用的库,例如Google的Tensor Flow和微软的Cognitive Toolkit。Python的用途非常广泛,且易于学习,同时还提供了当今大数据世界所需的安全性。
其他因素:移动设备,可穿戴设备
除此之外,影响编程语言流行度的还有其他一些因素。语言本身固有的安全性是一个因素,还有一个因素是移动设备的普及。2018年,70%的美国人拥有智能手机,50%拥有平板电脑。对于这些移动用户来说,他们90%的上网时间在使用应用,而非互联网。
在考虑编程语言的流行度时,这是一个非常重要因素,因为某些语言更适合于移动应用程序的开发以及与平板电脑和智能手机等便携式设备的结合使用,因此,还有一个因素不可忽略:硬件。
为我们日常生活带来便利性的可穿戴设备及其他设备越来越受欢迎,包括睡眠与活动监视器、智能手表以及矫正姿势的可穿戴设备等。随着可穿戴设备的普及以及桌面软件的减少,能够满足这种需求的编程语言的流行度势必会增加。
过去十年发生了很大变化,随着我们朝着互联网大时代的迈进,将来还会发生更多的变化。目前,用途最广泛以及最安全的编程语言将获得最大的普及,但是随着电子工程学的不断发展,谁又能预料编程的未来呢?