一次又一次的民意调查显示,即使四分之一个世纪过去了,在嵌入式领域,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
自动门禁的设计方案
种子发芽箱是什么,它的作用是怎样的
过孔滑环导致短路故障常见问题的基本原因
无人机镜头结合AI人工智能,辨识暴力事件发生
“芯片狂人”赵伟国,被审查起诉
为何嵌入式开发人员对Ada不感兴趣?
分流电阻存在的容差误差介绍
清华大学成立人工智能研究院
苹果将推六款尺寸更大、续航更强的智能手表
如果将编程替换成中文到底会怎么样
千元机同是999!魅蓝5s却为何能截杀红米Note4x?到底差在了什么地方?
iPhone少买个一千万部 谁会跟着倒霉?
Wishbone共享总线连接与点到点连接
用智能手机进行光谱分析 可检查水果是否打农药
小安派开源硬件S1和S2有哪些区别呢?
新的医疗服务模式,离我们有多远?
英伟达市值狂飙万亿的背后,是“时势造英雄”还是“厚积而薄发”?
工业能源管理软件开发,能耗管理系统技术解决方案
PEL-2000A可编程直流电子负载的功能特点及应用分析
磐石测控:深圳翻折屏手机扭力测试仪的特点?