对话程序员:各编程语言十年来的发展史
过去十年,编程语言发生了很大的变化,随着互联网大时代的迈进,将来还会发生更多的变化。在最新发布的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%的上网时间在使用应用,而非互联网。
在考虑编程语言的流行度时,这是一个非常重要因素,因为某些语言更适合于移动应用程序的开发以及与平板电脑和智能手机等便携式设备的结合使用,因此,还有一个因素不可忽略:硬件。
为我们日常生活带来便利性的可穿戴设备及其他设备越来越受欢迎,包括睡眠与活动监视器、智能手表以及矫正姿势的可穿戴设备等。随着可穿戴设备的普及以及桌面软件的减少,能够满足这种需求的编程语言的流行度势必会增加。
过去十年发生了很大变化,随着我们朝着互联网大时代的迈进,将来还会发生更多的变化。目前,用途最广泛以及最安全的编程语言将获得最大的普及,但是随着电子工程学的不断发展,谁又能预料编程的未来呢?
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
为什么 JavaScript 中 0.1+0.2 不等于 0.3 ?
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/2kea7-jACCJmSYBQAwXyIg 作者:刘洋 在 js 中进行数学的运算时,会出现0.1+0.2=0.300000000000000004的结果,一开始认为是浮点数的二进制存储导致的精度问题,但这似乎不能很好的解释为什么在同样的存储方式下0.3+0.4=0.7可以得到正确的结果。本文主要通过浮点数的二进制存储及运算,和IEEE754下的舍入规则,解释为何会出现这种情况。 一、浮点数的二进制存储 JavaScript遵循IEEE754标准,在64位中存储一个数据的有效数字形式。 其中,第0位为符号位,0表示正数1表示负数;第1到11位存储指数部分;第12到63位存小数部分(尾数部分)(即有效数字)。由于二进制的有效数字总是表示为 1.xxx…的形式,尾数部分在规约形式下的第一位默认为1,故存储时第一位省略不写,尾数部分f存储有效数字小数点后的xxx...,最长52位。因此,JavaScript提供的有效数字最长为53个二进制位(尾数部分52位+被省略的1位)。 以0.1、0...
- 下一篇
Python干货(一):27个问题,告诉你 Python 为什么如此设计?
为什么使用缩进来分组语句? Guido van Rossum 认为使用缩进进行分组非常优雅,并且大大提高了普通 Python 程序的清晰度。大多数人在一段时间后就学会并喜欢上这个功能。 由于没有开始/结束括号,因此解析器感知的分组与人类读者之间不会存在分歧。偶尔 C 程序员会遇到像这样的代码片段: if (x <= y) x++; y--;z++;如果条件为真,则只执行 x++ 语句,但缩进会使你认为情况并非如此。即使是经验丰富的 C 程序员有时会长时间盯着它,想知道为什么即使 x > y , y 也在减少。 因为没有开始/结束括号,所以 Python 不太容易发生编码式冲突。在 C 中,括号可以放到许多不同的位置。如果您习惯于阅读和编写使用一种风格的代码,那么在阅读(或被要求编写)另一种风格时,您至少会感到有些不安。 许多编码风格将开始/结束括号单独放在一行上。这使得程序相当长,浪费了宝贵的屏幕空间,使得更难以对程序进行全面的了解。理想情况下,函数应该适合一个屏幕(例如,20--30 行)。20 行 Python 可以完成比 20 行 C 更多的工作。这不仅仅是由于缺少开...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7