电子工程专辑
UBM China

你会用什么程序语言写固件?

上网日期: 2016年03月14日 ?? 作者: Jack Ganssle ?? 我来评论 字号:放大 | 缩小 分享到:sina weibo tencent weibo tencent weibo


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友

关键字:嵌入式? 固件? 程序语言?

几年前的4月,编译程序软件供应商Keil Software (现在已是ARM的一部分)在某嵌入式系统技术杂志上刊登了一则广告,宣传他们为8051架构开发的新COBOL语言编译程序;但内行人一看就知道那是个愚人节的玩笑。

8051 架构/嵌入式系统用的COBOL语言真的是非常荒谬而好笑的点子,我还特地打电话给该公司的总裁,恭喜他想出这么幽默的笑话,而他告诉我真的有人想要订购那样的产品!这反映了我们目前仍然会看到的、为嵌入式系统开发案选择编程语言的某些心态,理想抱负似乎总胜过现实。

8051架构专用的COBOL语言?不要怀疑,那真的是愚人节的玩笑!《电子工程专辑》
8051架构专用的COBOL语言?不要怀疑,那真的是愚人节的玩笑!

你要是常去Slashdot或其他类似的嵌入式开发网站,都会看到关于编程语言的讨论;D语言是最新的热门编程语言吗?还是Swift?我一天到晚收到人们想要以C#语言编写固件之相关信息的电子邮件;而也常会听到有人说现在整个世界的潮流是Java,如果不跟上就落伍了。

整个世界?事实上在嵌入式领域,大致上只有使用两种语言:C与C++;根据Embedded.com (EE Time姊妹网站)曾做过的统计,读者们主要使用的语言如下图(X轴的单位是百分比):

Embedded.com统计读者最常用的嵌入式编程语言《电子工程专辑》
Embedded.com统计读者最常用的嵌入式编程语言

而显然令人惊讶的是,就连C++的市占率都没有赢过C。在选择编程语言时,必须要考虑到软件开发者的普遍性,不然如果你请不到精通某种特定语言的工程师,恐怕就得花费很长的时间以及高昂的训练成本,否则就会失败。

我 曾经被请去帮忙一个在瑞典的、面临失败的开发案,就是用C++语言写的;我想该语言是与该应用程序自然契合,但他们是为何会做这样的选择?那家公司的副总裁告诉我,他曾在《商业周刊(Business Week)》读到一篇文章,说C++可让任何东西立即可重复使用,所以他才决定使用该种语言。

那个开发案有40个工程师参与,但只有一个新来的毕业生,有过面向对象(object-oriented)的经验,另外39个人则试着从工作中学习。这会是一场灾难,他们需要实践、抛弃式的项目来取得经验,一个因为不会出货、所以就算犯错也没关系的项目。

C语言已经在这个领域存在30年,而且没有退出的迹象;现在有很多更好的选择,我希望能转移到Ada语言、甚至至更好的SPARK,但除非有更多经过训练的工程师,这恐怕不会发生。身为嵌入式设计工程师的你用的是哪一种语言?C与C++仍然健在吗?

编译:Judith Cheng

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

《电子工程专辑》
关注最前沿的电子设计资讯,请关注“电子工程专辑微信公众号”。







我来评论 - 你会用什么程序语言写固件?
评论:
*? 您还能输入[0]字
分享到: 新浪微博 qq空间
验证码:
????????????????
?

关注电子工程专辑微信
扫描以下二维码或添加微信号“eet-china”

访问电子工程专辑手机网站
随时把握电子产业动态,请扫描以下二维码

?

5G网络在提供1Gbps至10Gbps吞吐量方面具有很好的前途, 并且功耗要求比今天的网络和手机都要低,同时还能为关键应用提供严格的延时性能。本期封面故事将会与您分享5G的关键技术发展,以及在4G网络上有怎样的进步。

?
?
有问题请反馈
推荐到论坛,赢取4积分X