向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

编程语言发展10年,发生了什么变化?

时间:2019-10-08 作者:Cabe Atwell 阅读:
移动设备确实是推动程序语言普及的重要因素之一,因为某些语言更适合用于开发行动App,或者更适于搭配平板计算机和智能型手机等便携设备使用…

我们是多么地喜欢各种移动设备啊!记得曾经照相手机让我们记录最宝贵的时刻,而互联网及其多种通讯工具使我们能够与遥远的朋友和家人保持联络。但我们通常并不会想到实现这个互连世界背后的「程序语言」(programming languages)。

然而,值得注意的是,随着智能型手机与穿戴式装置等移动设备普及,近来有些程序语言的“人气”开始起了变化,这让我们有机会得以一窥数字世界的走向,同时也提醒自己究竟发展到什么地步了。

Python稳居龙头宝座

IEEE Spectrum在今年九月发布2019年程序语言排行榜,许多人可能会惊讶地发现Python仍保持其龙头宝座。自2017年以来,Python这种基于脚本(script-based)的语言,在IEEE Spectrum的排名中一直排名第一。

但这其实一点都不意外。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的得分排名第五。JavaScript、C#、MATLAB、Swift和Google Go依次排名第六至第十。

033ednc20190929

2019年十大程序语言排行榜(来源:IEEE Spectrum)

值得注意的是,IEEE Spectrum的排名包括用于支持电子和电机工程之硬件和软件应用的所有程序语言。IEEE主要根据IEEE、Reddit、Stack Overflow、Twitter、Google、GitHub、CareerBuilder、Hacker News和GitHub等来源提供的11种测量指标,评选出今年度的排行榜。

IEEE并不是唯一对程序语言进行排名的组织。TIOBE也专门针对软件发布了程序语言的年度排名。在不考虑硬件的前下,TIOBE的2019年程序语言排行榜显示Java是最常用的语言,其后依序是C、Python、C++、C#、Visual Basic .NET、JavaScript、SQL、PHP和Objective-C。

034ednc20190929

TIOBE程序语言Top 10排名走势(来源:TIOBE)

10年前的排名

在2010年,TIOBE Programming Index发布的十大程序语言排名分别是:Java、C、C++、PHP、(Visual) Basic、C#、Python、Objective-C、Perl和Ruby。而IEEE在2014年首度发表的排行榜中,也包括了C#、PHP和Ruby。

发生了什么变化?

对于某些程序语言而言,例如Ruby和Ruby on Rails,执行速度和启动速度还不够快,因而无法全面支持各种商业产品。而其他有的语言,如PHP,由于安全性较差是导致Facebook等公司未能继续使用该语言的重要因素。

Python、Java、JavaScript和C则由于是通用语言而使其得以广泛使用。特别是针对Python而言,有许多专用的工具库可支持机器学习、深度学习(Theano)、人工智能(AI),以及针对微控制器(MCU)和小型计算机(如Adafruit、Arduino和Raspberry Pi)的自造者工具库。它还具有可轻松让Python程序代码与其他产品或库(如Google Tensor Flow和Microsoft Cognitive Toolkit)搭配使用的工具库。 Python有多种用途,而且是一种相当容易学习的程序语言,同时还提供当今大数据(Big Data)世界所需的安全性。

更多因素:硬件、安全性、行动装置

还有一些其他因素可能影响程序语言的普及。程序语言固有的安全性是其中的原因之一,另一项素是行动装置的普及。根据统计,在2018年,70%的美国人都拥有智能型手机,50%的人拥有平板计算机。在这些行动用户中,90%的连网时间都花在使用应用程序(App)而非因特网。

行动装置确实是推动程序语言普及的重要因素之一,因为某些语言更适合用于开发行动App,或者更适于搭配平板计算机和智能型手机等便携设备使用… ——这也让我们想到了另一个因素:硬件。

掌握我们日常生活各种功能的行动装置与穿戴式装正置日益普及,包括从睡眠和活动监测器到智慧手表和穿戴式装置等所有装置。随着穿戴式装置普及,以及基于桌面计算机的标准软件减少,可支持这种需求的程序语言普及性势必会再进一步地增加。

过去十年来发生了许多变化,随着我们朝着更加密切互连的未来前进,还将会看到更多的变化。目前,使用最广泛和最安全的程序语言将仍然是使用最广泛的语言,但有谁知道程序的未来将会如何发展?尤其是随着电子产品工程(例如忆阻器)的不断发展,未来的变化与发展无限!

(原文发表于ASPENCORE旗下EDN姐妹媒体EETimes,参考链接:10 Years of Programming Language Evolution,编译:Susan Hong)

责编:Demi Xia

 

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
Cabe Atwell
机械工程师/EE Times资深博主。Cabe Atwell是一名居住在芝加哥地区的电气工程师。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • 60天就能打印一枚火箭,到底是创举还是噱头? 马斯克曾表示一旦火箭回收常态化,能降低 99 %的发射成本。尽管这个数字还存在争议,但不少业内专家也都承认这是目前火箭发射性价比最高的方案。那除此之外还有没有别的降低发射成本的方法?
  • 下一代 Wi-Fi 6 标准正式启用?到底有哪些特别之处? 就在上个月,Wi-Fi联盟宣布启动Wi-Fi 6认证计划,这意味Wi-Fi 6技术标准即将进入我们的工作生活。和上一代的Wi-Fi 技术标准相比,Wi-Fi 6到底有什么特别?
  • 动力电池设计难在哪? 在电动汽车中,动力电池组中密布各种传感器,以监测电池发热状况与老化效应,以及动态热负荷与自愈效应。
  • 2019 400G通信元年被延期,原因是缺少这项技术 数据中心通信正在由100G向400G发展。然而,2019年这一被认为是400G产品的元年,却未能如约而至,主要原因是业界尚未有高效的传输手段来支撑这个市场的繁荣。
  • 不同材质的PCB板,到底有哪些区别? 材料的燃烧性,又称阻燃性,自熄性耐燃性,难燃性,耐火性,可燃性等燃烧性是评定材料具有何种耐抗燃烧的能力。燃性材料样品以符合要求的火焰点燃,经规定的时间移去火焰,根据试样燃烧的程度来评定燃烧性等级,共分三级……
  • 被证实为苹果自研的 U1 芯片到底有什么大用途? 自从“傍上”了苹果iphone11系列,此前一直不温不火的UWB芯片获得了外界更多人开始关注。尽管网络上有着各种实测和分析,但关于 U1 芯片到底是苹果自研还是第三方供应,这个问题之前一直没有个准确答案。经过两家专业拆解机构的分析,U1 为苹果自研芯片的说法终于坐实。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告