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

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

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

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

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

Python稳居龙头宝座

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

但这其实一点都不意外。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依次排名第六至第十。OAxednc

033ednc20190929OAxednc

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

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

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

034ednc20190929OAxednc

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

10年前的排名

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

发生了什么变化?

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

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

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

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

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

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

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

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

责编:Demi XiaOAxednc

 OAxednc

本文为EDN电子技术设计 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
Cabe Atwell
机械工程师/EE Times资深博主。Cabe Atwell是一名居住在芝加哥地区的电气工程师。
  • 微信扫一扫
    一键转发
  • 最前沿的电子设计资讯
    请关注“电子技术设计微信公众号”
您可能感兴趣的文章
  • MIT教授初创企业起诉Facebook,PyTorch核心加速技术被指 近日,一份起诉书成为了深度学习社区的热点话题:Facebook 从创业公司 Neural Magic 挖来的技术人员 Zlateski 重现了今天 PyTorch 上的关键神经网络加速技术并将其开源。因为这件事,Facebook 被告上了麻省法庭。
  • 研究人员开发出新型超高容量锂硫电池 莫纳什大学(Monash University)的研究人员研发出一种新型锂硫电池,其容量是锂离子电池的5倍,对环境影响更小。这种采用锂和硫(Li-S)的电池能够在200多次充放电中保持99%的效率,这项技术可能改变未来手机、汽车、计算机和太阳能网络的生产方式。
  • 后SoC时代或将迎来Chiplet拐点 这里先把结论罗列出来(1)Chiplet拐点将带领集成电路生态将迈入“打土豪分田地"的新时期;(2)Chiplet拐点面前,新形态体系结构形态的将提倡富含想象力的小而美,并且“去中心化”;(3)Chiplet拐点将诞生一类新型态的富含模拟电路芯片——有源基板,它将终结低电压低增益低匹配的先进工艺模拟设计困局。
  • 钟南山团队推出恒温扩增芯片,同步检测多个患者 日前,钟南山院士在“走出至暗时刻”首届新冠肺炎多学科线上论坛上独家发布了其团队最新研究成果——针对COVID-19感染对快速免疫球蛋白M(IgM)检测试纸、恒温扩增芯片。
  • 利用AI绘制地图加强灾害防范 发展中国家的许多地区都缺乏最新的地图,这意味着在发生自然灾害或传染病时,救援组织难以有效开展工作。英特尔已开发出可以通过卫星图像识别地物的AI模型,并与红十字会紧密合作推进“地图补全”项目,为发展中国家绘制地图,以提高其防范灾害的能力。
  • 加速AI深度学习,BF16浮点格式应运而生 为了加速AI深度学习(DL)的效能,包括Google、英特尔和Arm等越来越多公司开始导入BF16,但这种新的浮点格式可能成为深度学习运算主流?
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告