电子设计Com内容内容

Ada提供了优于C和c++的优势

2012年5月31日
Ada通常不是程序员的第一语言,但它应该是他们工具箱的一部分。找到原因。

> >网站资源
..> >图书馆:TechXchange
. . . .>> TechXchange:嵌入式软件
. . . . . .>>主题:Ada和SPARK

大多数嵌入式编程是用C和c++完成的。嵌入式应用程序使用了许多语言,从Java到Lua,但C占主导地位。

C的流行并不奇怪。它很容易学习,而且每个平台都有一个C编译器。大多数芯片供应商都提供了围绕C语言构建的免费工具,像Windows和Linux这样的流行平台都是使用C语言构建的。

那么我为什么要提倡使用Ada,一种由委员会为军队设计的语言呢?

对于嵌入式开发人员来说,安全性、安全性和可靠性比以往任何时候都更加重要。最小化bug是关键,Ada在这方面做得比C好,在较小的程度上比c++好。Ada 2012中新的合同支持是Ada优势之一。

让艾达的合同

SPARK是Ada的一个子集,它最初公开了契约支持。Ada 2012为函数和过程以及类型定义实现了契约。

特别是Ada 2012允许前置条件和后置条件。它可以用来检查参数、对象的当前状态和结果。后置条件中的S 'Old引用是指输入函数时变量的初始值。

C断言宏也以类似的方式使用,但实现是非标准的。在函数入口应用它相对容易,但要一致地实现后置条件则要困难得多。

另一个重要的区别是定义和检查发生的位置。Ada示例驻留在头文件中,而C断言风格的宏将出现在代码中,而程序员将从代码中引用头文件。Ada的前置条件和后端条件本质上是函数定义者给出的契约,由使用该函数的程序员使用。

Ada的内置多任务

Ada的几个特性使它成为紧凑高效的嵌入式应用程序的理想选择。一个是支持语言中的多任务处理。Java提供了类似的支持,但是C和c++把它交给了操作系统(OS),这使得迁移应用程序变得困难,因为它们现在被绑定到特定的操作系统,甚至可能是该操作系统的特定版本。

Ada还提供汇合的进程间通信和调度,因此它不能处理所有的应用程序,但大多数应用程序都可以适合它的框架。Ada也可以与大多数操作系统一起工作,它的多任务处理可以与主机操作系统集成。

C选项

可以使用免费的Ada编译器和开发工具,因此检出Ada不需要任何成本。开始使用Ada非常容易,尽管像C和c++一样,成为一名Ada maven可能需要一段时间。

与C等大多数语言相比,Ada倾向于做更多的检查。其中一些检查可以通过使用C/ c++的静态分析工具来执行(参见“什么是新的静态分析技术”)。像MISRA C这样的标准可以解决Ada在语言中构建的一些问题。

如果Ada不适合您的开发人员工具箱,那么这些工具中的一些可以。尽管如此,将这些特性整合到编程语言中,除了有助于提高代码质量之外,还会对应用程序的设计产生重大影响。

Ada程序员比C或c++程序员少。大多数人一开始并没有将Ada作为他们的第一种编程语言,但是他们却非常尊重它。你对它了解得越多,它就变得越有用。

Ada并不是万能工具,但它是开发可靠软件的更好工具。它支持现在常见的面向对象和泛型编程方法。

这里没有足够的空间给艾达应有的空间。(参见“C程序员,是时候试试Ada了”)。艾达专家写了更详细的文章。我建议你查一查,因为如果你不查,你的竞争对手就会查。艾达能给你未来所需的优势。

> >网站资源
..> >图书馆:TechXchange
. . . .>> TechXchange:嵌入式软件
. . . . . .>>主题:Ada和SPARK

从我们的合作伙伴

USB Type-C™和USB PD控制器与集成电源开关

TPS65987D USB Type-C®和USB PD控制器with Integrated Source and Sink Power Path support USB3 and Alternate Mode datasheet(数据表)(修订C)

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

制作精良的电气外壳的优点

优良的电气外壳的优点由:默里斯洛威克。图1:恶劣环境的户外工业机箱的GEOS线。苏……

USB Type-C®和USB电源传输

我们广泛提供的USB Type-C®设备和PD控制器的USB PD能力提供了灵活性和集成所需的设计和实现…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……

欢迎来到边缘

照片/图像学分(按显示顺序)。pinkeyes - stock.adobe.com, Monopoly919 - stock.adobe.com, proindustrial2 - stock.adobe.com。加入我们吧…

声音你的意见!

本网站要求您注册或登录后发表评论。
目前还没有任何评论。想开始对话吗?

从我们的合作伙伴

USB Type-C™和USB PD控制器与集成电源开关

TPS65987D USB Type-C®和USB PD控制器with Integrated Source and Sink Power Path support USB3 and Alternate Mode datasheet(数据表)(修订C)

欢迎来到边缘

随着嵌入式网络设备成本的下降——以树莓派为例——它们变得无处不在。但是,这一激增的隐藏成本……

制作精良的电气外壳的优点

优良的电气外壳的优点由:默里斯洛威克。图1:恶劣环境的户外工业机箱的GEOS线。苏……

USB Type-C®和USB电源传输

我们广泛提供的USB Type-C®设备和PD控制器的USB PD能力提供了灵活性和集成所需的设计和实现…

理解和使用e - stop

问:什么是电子档?如何使用?答:e停止,或紧急停止开关,用于确保机器和人员的安全。他们正在使用……
18beplay下载

TI推出用于避免碰撞的汽车雷达传感器

2022年1月5日
TI推出了用于短程到远程汽车雷达传感器的第二代芯片。与其他解决方案相比,该IC带来了超过30%的分辨率和40%的更远的范围。
2018beplay

NVIDIA CES 2022特殊地址

2022年1月4日,
MAX-Q是一个笔记本电脑硬件设计框架,另外还有一个新的NVIDIA DRIVE框架。
Baidu