0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Ada Watch:选择支持可靠性的编程语言

星星科技指导员 来源:嵌入式计算设计 作者:GREG GICCA 2022-11-01 09:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

选择编程语言是一个复杂的决定,因为它会极大地影响软件系统的预期可靠性 - 特别是在军事应用中。几乎任何语言都可用于开发任何应用程序,但是当从一个领域移动到另一个领域时,语言的原始设计优势可能不会延续。Ada语言由于其强大的类型和其他固有的安全特性,可以帮助开发人员生成非常可靠的程序,这使得程序更容易理解和修改,而不会产生副作用。

今天的编程语言领域非常丰富,但对于关键的嵌入式应用程序,少数应用程序往往比其他应用程序更频繁地使用。部分列表可能包括 Ada、Assembly、C、C++Java(按字母顺序排列)。这些语言(粗略地和不详尽地)分别被定义为支持:可靠和可维护的系统,硬件和设备的直接操作,操作系统和类似软件工具的构建,将当时新的面向对象编程(OOP)范式添加到基础C语言中,并支持高度可移植的应用程序。每个都擅长开发其域中的应用程序或与该域中的应用程序共享特征。

Ada 语言由于其强大的类型和其他固有的安全特性,可以帮助生成非常可靠的程序。这些相同的特征使程序更容易理解和修改,而不会产生副作用,因此它们更易于维护。如果需要算法来直接操作计算机的指令或数据,则汇编语言是无法击败的。C 是一种相对简单的语言,其中源指令通常映射到一组或一组常见的计算机指令或数据操作。术语“有思想的人的组装者”被用来描述C来传达这个概念。然而,它比汇编具有优势,因为它允许使用更高级的概念操作计算机,从而允许编写更高级的应用程序。C++使用 C 作为其基础,最值得注意的是在此基础上添加了 OOP 支持。OOP允许将问题分解为更小的可管理问题,然后为正在解决的更高级别的问题创建解决方案,以促进低级和高级组件的共享。在这种一般意义上,OOP可以在软件重用方面表现出色。Java语言旨在促进可移植性作为其主要目标。它是一种纯粹的OOP语言,鼓励继承和重用现有组件,具有比C或C++更强类型的数据模型,但努力防止C/C++直接访问/操作。

因此,汇编是直接操作计算机硬件的好语言。Ada 非常适合开发大型、长寿命系统或可靠性很重要的系统。C 适用于开发只需要应用程序和计算机之间相当低的抽象级别的应用程序。也就是说,软件开发人员执行将域解决方案转换为使其在计算机上执行的指令的任务。C++添加了 OOP 概念以及模板、命名空间管理和其他有助于软件重用和构建大规模应用程序的功能。Java是可移植性是关键设计目标的理想选择。作为一种现代编程语言,它还具有比 C 或 C++ 更强大的类型化和程序打包概念,因此软件开发人员不必直接将解决方案转换为操纵计算机的东西(事实上,在许多情况下他们不能使用 Java)。

上述每种语言在它所针对的应用程序域中使用时都会表现出色。每个域可能都不适合其他域。Ada 语言在编写非常小的程序或生存期有限的程序的语法上可能有点冗长。在这些情况下,可读性和可维护性不太重要。C 语言直接映射到硬件解决方案的能力并不是一个优势,因为软件开发人员必须编写大中型程序,在这些程序中,从问题解决方案到计算机指令的这种心理转换很难管理;程序员会犯错误。由于该语言假设开发人员的意思是他们所说的(类型),因此它将算法中的许多错误解释为仅仅是他们的意图,并且错误将与软件集成而不会被发现。

使用C相当简单的语言语法,开发人员可以快速编写大量源文本。这有时会给人一种错误的印象,即正在编写大量正确的软件。情况往往并非如此,C 和 Ada 之间的生产力比较实际上可能表明 Ada 开发人员在编写正确的源代码方面更有效率。C++语言为其C基础增加了好处,但继承了许多与C语言相同的缺点.Java提供了可移植性,但通常是实时性能特征之间的权衡,使此类程序难以编写,因此编写效率较低。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5209

    文章

    20645

    浏览量

    336910
  • JAVA
    +关注

    关注

    20

    文章

    3006

    浏览量

    116828
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    知识分享-嵌入式系统可靠性模型

    嵌入式系统可靠性设计技术及案例解析1.3嵌入式系统可靠性模型嵌入式系统可靠性模型分为两种:串联结构模型和并联结构模型。在进行嵌入式系统设计时,为了保证部分关键环节的可靠性,会采取并联备
    的头像 发表于 03-11 16:43 380次阅读
    知识分享-嵌入式系统<b class='flag-5'>可靠性</b>模型

    什么是高可靠性

    一、什么是可靠性可靠性指的是“可信赖的”、“可信任的”,是指产品在规定的条件下和规定的时间内,完成规定功能的能力。对于终端产品而言,可靠度越高,使用保障就越高。 PCB可靠性是指
    发表于 01-29 14:49

    解析ADA4177-4精密运算放大器:高性能与可靠性的完美结合

    解析ADA4177系列精密运算放大器:高性能与可靠性的完美结合 在电子设计领域,运算放大器作为基础且关键的元件,其性能优劣直接影响着整个系统的表现。ADA4177-1/ADA
    的头像 发表于 01-22 09:20 285次阅读

    如何测试单片机MCU系统的可靠性

    用什么方法来测试单片机系统的可靠性,当一个单片机系统设计完成,对于不同的单片机系统产品会有不同的测试项目和方法,但是有一些是必须测试的。 下面分享我的一些经验: 1、测试单片机软件功能的完善
    发表于 01-08 07:50

    单片机应用系统的可靠性设计介绍

    随着单片机在国防、金融、工业控制等重要领域应用越来越广泛,单片机应用系统的可靠性越来越成为人们关注的一个重要课题。单片机应用系统的可靠性是由多种因素决定的,大体分为硬件系统可靠性设计和软件系统
    发表于 11-25 06:21

    跌落试验机在智能家居设备可靠性测试中的实践

    可靠性。北京沃华慧通测控技术有限公司可靠性测试设备可以为产品的质量认证、市场推广以及售后服务提供有力的支持。在市场竞争日益激烈的今天,产品的可靠性已成为消费者
    的头像 发表于 08-18 14:26 752次阅读
    跌落试验机在智能家居设备<b class='flag-5'>可靠性</b>测试中的实践

    MT6501在线可编程角度编码器:以独特可编程特性提升汽车控制精度与可靠性

    在汽车工业蓬勃发展的今天,汽车的智能化、自动化程度越来越高,对汽车控制精度与可靠性的要求也日益严苛。MT6501 在线可编程角度编码器凭借其独特的可编程特性,在提升汽车控制精度与可靠性
    的头像 发表于 08-04 18:01 925次阅读

    可靠性设计的十个重点

    专注于光电半导体芯片与器件可靠性领域的科研检测机构,能够对LED、激光器、功率器件等关键部件进行严格的检测,致力于为客户提供高质量的测试服务,为光电产品在各种高可靠性场景中的稳定应用提供坚实的质量
    的头像 发表于 08-01 22:55 1193次阅读
    <b class='flag-5'>可靠性</b>设计的十个重点

    太诱MLCC电容的可靠性如何?

    众所周知,多层陶瓷电容器(MLCC)已成为消费电子、汽车电子、工业控制等领域的核心被动元件。太阳诱电(太诱)通过材料创新、工艺优化与严苛测试体系,构建了MLCC电容的可靠性护城河,其产品失效率长期
    的头像 发表于 07-09 15:35 1208次阅读

    关于LED灯具的9种可靠性测试方案

    LED灯具的可靠性试验,与传统灯具有显著区别。作为新一代光源,LED灯具正在逐渐取代传统节能灯的市场,因此无法简单地沿用传统灯具的测试方法。那么,LED灯具需要进行哪些可靠性试验呢?标准名称:LED
    的头像 发表于 06-18 14:48 1332次阅读
    关于LED灯具的9种<b class='flag-5'>可靠性</b>测试方案

    可靠性测试包括哪些测试和设备?

    在当今竞争激烈的市场环境中,产品质量的可靠性成为了企业立足的根本。无论是电子产品、汽车零部件,还是智能家居设备,都需要经过严格的可靠性测试,以确保在各种复杂环境下都能稳定运行,为用户提供可靠的使用体验。那么,
    的头像 发表于 06-03 10:52 1615次阅读
    <b class='flag-5'>可靠性</b>测试包括哪些测试和设备?

    半导体测试可靠性测试设备

    在半导体产业中,可靠性测试设备如同产品质量的 “守门员”,通过模拟各类严苛环境,对半导体器件的长期稳定性和可靠性进行评估,确保其在实际使用中能稳定运行。以下为你详细介绍常见的半导体测试可靠性测试设备。
    的头像 发表于 05-15 09:43 1496次阅读
    半导体测试<b class='flag-5'>可靠性</b>测试设备

    提供半导体工艺可靠性测试-WLR晶圆可靠性测试

    随着半导体工艺复杂度提升,可靠性要求与测试成本及时间之间的矛盾日益凸显。晶圆级可靠性(Wafer Level Reliability, WLR)技术通过直接在未封装晶圆上施加加速应力,实现快速
    发表于 05-07 20:34

    电机微机控制系统可靠性分析

    针对性地研究提高电机微机控制系统可靠性的途径及技术措施:硬件上,方法包括合理选择筛选元器件、选择合适的电源、采用保护电路以及制作可靠的印制电路板等;软件上,则采用了固化程序和保护 RA
    发表于 04-29 16:14

    IGBT的应用可靠性与失效分析

    包括器件固有可靠性和使用可靠性。固有可靠性问题包括安全工作区、闩锁效应、雪崩耐量、短路能力及功耗等,使用可靠性问题包括并联均流、软关断、电磁干扰及散热等。
    的头像 发表于 04-25 09:38 3635次阅读
    IGBT的应用<b class='flag-5'>可靠性</b>与失效分析