亚博体育手机客户端

时间:2018-08-13 作者:Martin Rowe 阅读:
有人说编程语言就像宗教信仰一样。工程师和开发人员将竭尽所能地捍卫自己所喜欢的语言。因此,关于编程语言偏好的调查,结果就取决于访谈的对象是谁…

有人说编程语言(programming languages)就像宗教信仰一样。工程师和开发人员将竭尽所能地捍卫自己所喜欢的语言。(但也很可能是因为学习一种新语言更痛苦,使我们宁可沿用旧的语言)。当然,你应该已经看过很多关于编程语言偏好的调查了。因此,就像其他的调查一样,结果取决于访谈的对象是谁。

美国电机亚博体育下载客户端工程师学会(IEEE)最近针对其会员进行调查,询问他们主要使用哪一种语言。由于IEEE在亚博体育下载客户端工程师社群相当具有代表性,我们很自然地期望其调查结果会和软件社群的调查结果有所不同。对于亚博体育下载客户端工程师而言,软件通常是让硬件得以运作的工具,重点并不在于产品本身。

根据IEEE发布的《2018年最热门的编程语言》(2018 list of top programming languages),Python在整体排名中位居榜首,这和其他的调查结果并不相同。

IEEE的调查结果突显出4种应用类别:网络、行动、企业和嵌入式。你可以从“互动调查结果”页面,查看这4种应用任意组合的结果。图1显示整体排名中的前22大热门语言。

IEEE_Prpgramming_Languages_all_top22_639x856.jpg

IEEE 2018编程语言调查显示Python超越C和C++,排名第一(来源:IEEE)

图2将调查结果限制在嵌入式应用领域。但即使是嵌入式应用,Python仍然位居榜首。你同意吗?嵌入式系统设计师Jack Ganssle并不认同。Jack Ganssle同时也是The Ganssle Group首席顾问,他在回复《EE Times》的邮件中说:“这项数据毫无意义。它就像是在问什么是最受热门的手动工具。木工可能会说是榔头,但机械师可能会说是磨子。它完全取决于个人的工作领域。以我的业务领域——嵌入式来看,我们知道C才是王道,因为它通常达到六、七成的使用率。但我相信很少人会把它用来编写Windows应用或iPhone应用编程(app)。”

IEEE_Programming_Languages_embedded_top15_650x632.jpg

根据IEEE 2018调查,Python是嵌入式应用中最流行的编程语言,但许多工程师并不同意这个结论

Ganssle的想法也可能是错的。虽然IEEE的调查并未另外分出Windows app,但它区分出行动应用。针对行动App,前五种最受欢迎的语言是C ++、C、Java、C#和JavaScript,分别排名第1至第5。但IEEE的调查并未指明是哪一种行动应用的语言。也许有人回复行动应用,但可能是为手机或平板电脑编写嵌入式编程代码。这部份就无法确定了。

“这只是让它变得更奇怪,”Ganssle继续说道,“在嵌入式领域,他们将C++排名在C之上,但每次调查都加以反驳说——甚至是AspenCore的调查!”

这部份Ganssle说的也没错。《EE Times》和《Embedded.com》(隶属于ASPENCORE)进行的2017年调查,就和IEEE的调查相互矛盾。C不仅高于C++,而且还看不到Python。但据IEEE表示,即使在嵌入式系统工程师,Python也高于C和C++的排名。

延续Ganssle的看法,其结果取决于你访问的对象是谁。根据TIOBE的2018年8月编程语言排行榜(TIOBE Index for August 2018),Java位居榜首,其次是C、C++,然后是Python (下图。TIOBE主要生产用于测试软件用的软件。

TIOBE_popular_languages_Aug2018_1-20_897x791.jpg

根据TIOBE,Java是最流行的语言(来源:TIOBE)

Firia总裁David Ewing指出:“现在美国有很多K-12的学校都在教授Python。事实上,我们公司有一款用于教授编码的产品,就是在微控制器上使用Python进行。其实这是一种非常强大的语言,广泛使用在工业中,也刚好是学习编码的一个最佳起点。它说明了我们将持续看到Python被采用。”如果Ewing是对的,Python可望持续普及。

Ewing说:“这包括嵌入式系统、网络浏览器等。”浏览器专用于支持Javascript (更正确地说是ECMAscript)。因此,令人惊讶的是Javascript据称是唯一一种拥有庞大安装基础的语言(安装于每个网络浏览器、移动设备等),几乎没有其他替代语言可支持,然而,它却未能在IEEE的调查中排名前几大。

Stackify的Ben Putano于2017年12月指出,“C是物联网设备(包括可穿戴设备和汽车仪表板)的最佳编程语言之一。”Putano声称,“JavaScript由于被用于许多Web app,而持续占据主导地位。”事实上,Putano的文章强调的是GitHub。在他的文章中,JavaScript胜出,其次是Python。C++排名第六,而C则排在第十位。

当然,如果您问自动化测试工程师使用哪种语言,那又是另一种完全不同的答案。例如《EE Times》和《EDN》在2015年进行的调查(图4)。虽然这项调查是在几年前进行的,但它显示LabVIEW位居首位。而此次IEEE的调查,LabVIEW则排名在第35左右。

Test_software_rank_EDN-EET_survey_2015.jpg

在测试与测量以及仪器控制方面,LabVIEW在2015年排名第一(来源:EE Times/EDN)

Python目前在控制测试和测量仪器领域变得十分热门。Measurement Computing等公司对该语言越来越感兴趣。Measurement Computing总经理Peter Anderson说:“我们注意到用户对Python支持的要求急剧上升,而且,我们也在过去一年中推出了支持Python的Windows和Linux版本。自从产品发布以来,我们的Python网页浏览量有了大幅的成长。目前,我们的Python页面比LabVIEW页面吸引了更多的浏览量。虽然这并不表示有更多客户使用Python,但它确实显示这种易于使用的语言日益流行。”

您使用哪种语言?为什么?你的应用领域是什么?

编译:Susan Hong
 

 本文授权编译自EE Times,版权所有,谢绝转载

qrcode_EETCwechat_120.jpg

关注最前沿的亚博体育下载客户端设计资讯,请关注“亚博体育下载客户端工程专辑微信公众号”

本文为EET亚博体育下载客户端工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
相关新闻