身为工程师的你,偏爱使用哪种语言呢?

分享到:

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

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

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

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

1

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

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

2

根据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主要生产用于测试软件用的软件。

3

根据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左右。

4

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

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

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

继续阅读
物联网和人工智能结合互惠共存 赋能更多意义

技术日新月异,在持续发展下不断探索和创新,如今,物联网正变得越来越智能,尤其是在人工智能的融合助力下,开启物联网潜力,让我们看到了更多的可能性和价值。

2021年,物联网将如何重塑电子制造业?

物联网正在从根本上改变企业在21世纪的运作方式,尽管随着COVID-19流行病的爆发,全球的商业运营已经发生了重大变化。这场灾难带来的不确定性和延误,尤其是在电子制造业,进一步鼓励了参与者。为了应对这一令人沮丧的行业挫折,制造商被迫重新评估其工艺、劳动力安全和应急计划。他们已经能够利用数字技术来应对这一流行病带来的挑战。

为什么工业物联网是智能制造集大成者?

智能制造是什么?怎样的情形才算是智能制造?为什么我们在智能制造中要去使用物联网?为什么使用云平台?这些对于广大期望能够对智能制造进行了解或者参与到智能制造这场变更的学者、工程师、企业家、企业管理人员都是统一的问题。

物联网终极形态是什么?半导体芯片主宰电子产品命脉

物联网发展至今重要性已不言而喻,但是,你们是否想过物联网的终极形态是什么?达成这种终极形态需要什么?

物联网的银河,华为的桨,少年的歌

近段时期以来,围绕核心科技的国际波澜,让我们开始想象逆全球化的种种可能。很多朋友问我们:面对数十年的科技封锁,中国究竟应该如何突围?