ElectricalDesign COM内容内容73991 73991图SM

ADA提供了C和C ++的优势

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

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

大多数嵌入式编程是在C和C ++中完成的。许多语言用于嵌入式应用程序,从Java到Lua,但C主导。

C的人气并不令人惊讶。很容易学习,每个平台都有一个C编译器。大多数芯片供应商提供围绕C内置的免费工具,以及Windows和Linux这样的流行平台是使用C构建的。

那么为什么我倡导使用ADA,这是由委员会为军队设计的语言?

安全,安全性和可靠性对比以往更有嵌入的开发人员更为重要。最小化错误是关键,而ADA在它比C和较小程度为C ++做得更好。ADA 2012中的新合同支持是提供ADA优势的优势之一。

让艾达的合同

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

特别是,ADA 2012允许预先条件和后期条件。它可用于检查参数,对象的当前状态,以及结果。后条件中的S'OND参考是指在输入函数时变量的初始值。

C断言宏已以类似的方式使用,但实施是非标准的。在函数条目中应用相对容易,尽管它可以持续实现持续的帖子条件。

另一个显着差异是定义和检查发生的地方。ADA示例驻留在标题文件中,而C Assert样式宏将出现在从程序员隐藏的代码中,这些宏将引用标题文件。ADA的预先条件和后期条件基本上是由函数定义的合同,并由利用该功能的程序员使用。

Ada的内置多任务

有几个功能使ADA非常适合紧凑和高效的嵌入式应用。一个人在语言中支持多任务处理。Java提供类似的支持,但C和C ++将其转录到操作系统(OS),使其难以迁移应用程序,因为它们现在与特定操作系统相关并可能是该OS的特定版本。

ADA还提供了Rendezvous进程通信和调度,因此它不会解决所有应用程序,但大多数都可以符合其框架。ADA也可以使用大多数操作系统,并且其多任务处理可以与主机OS集成。

C选项

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

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

如果ADA不适合您的开发人员的工具包,那么其中一些工具将会。仍然,将这些功能纳入编程语言,除了帮助提高代码的质量之外,还对应用程序的设计方式有显着影响。

ADA程序员少于C或C ++程序员。大多数人没有用ADA作为他们的第一个编程语言开始,但他们倾向于以高度尊重。你知道的越多,它越有用。

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

这里没有足够的空间来真正给予ada到期。(看 ”C程序员,时间尝试ADA”)。艾达专家写了更详细的文章。我建议你查一查,因为如果你不查,你的竞争对手就会查。艾达能给你未来所需的优势。

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

来自我们的合作伙伴

符合自动化和工业4.0标准的M12连接器编码

赞助。符合自动化和工业4.0标准的M12连接器编码连接器在任何一种电…

外壳材料可用于粗糙环境

适用于恶劣环境的外壳材料。金属外壳通常不适合高度恶劣的环境……

在运输中驾驶绿色革命

Karl-Heinz Steinmetz Sector总经理汽车动力总成德州仪器。技术进步进一步电动汽车,实现新效率......

2.2-MHz,低EMI,双3-A USBType-C®充电端口控制器

2.2 mhz,低电磁干扰,双,3-A USB c型充电接口转换器与热管理

使用INTRATORATION POWER开关保护您的电源路径

电源开关提供从电压源或接地到负载的电气连接。我们不同的投资组合包括几个拓扑,来自SI ...

声音你的意见!

本网站要求您注册或登录以发表评论。
尚未添加任何评论。想要开始对话?
Baidu