为何嵌入式开发人员对Ada不感兴趣?

为何嵌入式开发人员对Ada不感兴趣?,第1张

为何嵌入式开发人员对Ada不感兴趣?, 为何嵌入式开发人员对Ada不感兴趣?,第2张


一次又一次的民意调查显示,即使四分之一个世纪过去了,在嵌入式领域,Ada还是没能获得可观的市场份额。然而,数据明显表明:用Ada编写的程序比用C编写的程序缺陷更少,并且交付更快。

Ada编译器都由Ada合格评估测试套件(ACATS)充分评估。最流行的Ada编译器GNAT可免费从GPL获得。


Ada完全是为高可靠性嵌入式应用而设计。在这方面,无论C还是C++都无法相比。Ravenscar Profile更加精妙的针对实时嵌入式系统。任务分配是内置功能,无需RTOS供应商额外提供。


你可能认为“更快,更好并且免费的工具”将是相当吸引人的理由,但是它却没能说服大部分人。这为什么呢?


这可能不是任何效率低下的原因所致。AdaCore的主席Robert Dewar告诉我,与C语言相比,即使采用所有运行时检查,所获得的性能预期虽然不会超过20%,但大约能达到10%。


或许我应该界定“运行时检查”,因为这个概念和C语言性质不同。Ada会寻找错误条件,例如被0除等。你甚至可以定义整数的非法范围。但在C语言中,我们可以这样写:

num_doses=0;

morphine=paTIent_pain/num_doses;

dispense_morphine(morphine);


我们不能将其归咎于缺乏编译器。AdaCore已经将GNAT移植到大部分主流的16和32位 CPU上。


根据我的经验,刚接触Ada的开发人员通常讨厌这种语言。要获得可编译的源代码显得非常困难。但是,经历了三个Ada项目后,大部分程序员学会喜欢上这种语言。当然,他们投入了更多努力,用来编写正确的代码(这当然是好事情),但是他们节省了大量调试的时间。


正如一位记者Rich Ries给我写的信所言:“Ada之所以不能成功,或许类似于我们对健康生活方式的态度-有时我们都知道应该那样做,但却很少真正去实践!”
 

 

STM32/STM8

意法半导体/ST/STM

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2623331.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-11
下一篇 2022-08-11

发表评论

登录后才能评论

评论列表(0条)

保存