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提供了可移植性,但通常是实时性能特征之间的权衡,使此类程序难以编写,因此编写效率较低。

审核编辑:郭婷

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

    关注

    5186

    文章

    20155

    浏览量

    328969
  • JAVA
    +关注

    关注

    20

    文章

    2997

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

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

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

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

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

    可靠性设计的十个重点

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

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

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

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

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

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

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

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

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

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

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

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

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

    电路可靠性设计与工程计算技能概述

    电路可靠性设计与工程计算通过系统学习电路可靠性设计与工程计算,工程师不仅能提高电路的可靠性和稳定性,还能优化产品设计过程,减少潜在的故障风险,从而提升产品的市场竞争力和消费者信任度。为什么工程师需要
    的头像 发表于 03-26 17:08 616次阅读
    电路<b class='flag-5'>可靠性</b>设计与工程计算技能概述

    半导体集成电路的可靠性评价

    半导体集成电路的可靠性评价是一个综合的过程,涉及多个关键技术和层面,本文分述如下:可靠性评价技术概述、可靠性评价的技术特点、可靠性评价的测
    的头像 发表于 03-04 09:17 1265次阅读
    半导体集成电路的<b class='flag-5'>可靠性</b>评价

    一文读懂芯片可靠性试验项目

    可靠性试验的定义与重要可靠性试验是一种系统化的测试流程,通过模拟芯片在实际应用中可能遇到的各种环境条件和工作状态,对芯片的性能、稳定性和寿命进行全面评估。在芯片研发和生产过程中,可靠性
    的头像 发表于 02-21 14:50 1851次阅读
    一文读懂芯片<b class='flag-5'>可靠性</b>试验项目

    霍尔元件的可靠性测试步骤

    霍尔元件是一种利用霍尔效应来测量磁场的传感器,广泛应用于电机控制、位置检测、速度测量以及电流监测、变频控制测试、交直流电源、电源逆变器和电子开关等领域。为了确保霍尔元件的性能和可靠性,进行全面
    的头像 发表于 02-11 15:41 1197次阅读

    gitee 支持编程语言有哪些

    Gitee 支持的常见编程语言: Python :一种广泛使用的高级编程语言,以其清晰的语法和代码可读
    的头像 发表于 01-06 09:50 1109次阅读

    Triton编译器支持编程语言

    Triton编译器支持编程语言主要包括以下几种: 一、主要编程语言 Python :Triton编译器通过Python接口提供了对Trit
    的头像 发表于 12-24 17:33 1475次阅读