chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Ada Watch:為工作找到合適的編程語言

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:GREG GICCA ? 2022-11-01 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Ada 是一種強類型語言,是開發(fā)高可靠性程序的自然選擇。一些語言,如C,擅長低級編程,但不能解決其他挑戰(zhàn) - 正如我之前的博客所介紹的那樣。您需要為工作選擇合適的工具。與其對每個問題使用一種語言或一種工具,不如為工程師提供多種選擇來開發(fā)高可靠性軟件——這正是 Ada 的亮點。

我們可以通過高層次的視角來說明這一點,而無需深入研究特定的語言細節(jié)和個人偏好。第一步是研究強類型語言如何避免難以檢測的錯誤和不正確的程序操作。

Ada在高可靠性應用中的優(yōu)勢

Ada 的許多高可靠性軟件開發(fā)功能并非 Ada 所獨有,可以在各種其他(強類型)編程語言中找到。Ada的獨特之處在于所有這些功能都可以在一種編程語言中找到。

Ada 是強類型。簡單來說,這意味著變量、常量或對象必須在使用之前聲明。但是,它也允許語言(編譯器)靜態(tài)檢查使用此類標識符的有效性。

此設計功能的一個有趣效果是,可以將拼寫錯誤和拼寫錯誤檢測為錯誤并為開發(fā)人員標記。任何人類的寫作努力都會有錯誤,隨著總寫作工作量的增加,錯誤的數(shù)量也會增加。由于許多拼寫錯誤對于不經意的觀察者來說看起來是正確的(或者它們一開始就不會發(fā)生),讓語言檢測到這些是非常有價值的。

假設程序員打算將車輛位置“L”計算為實數(shù),并將整數(shù)索引“I”用于其他目的。在 Ada 中,如果使用變量“I”而不是“L”,則它將被標記為操作的錯誤類型。在 C 中,索引“I”將被隱式轉換(“強制轉換”)為表達式中的實值,從而引入錯誤。像這樣的簡單錯誤可能保持隱藏,難以發(fā)現(xiàn),并且對軟件的預期含義有潛移默化的變化。例如,“位置”應該是程序中此時的車輛位置,但索引“I”是不相關的。

Ada 支持將程序規(guī)范與實現(xiàn)分離的概念。該語言支持外部程序單元可見和調用的程序規(guī)范的定義。這定義了單元或子程序的名稱及其參數(shù)、類型等。該規(guī)范對使用“with”構造的調用方可見。實現(xiàn)或正文可能位于單獨的文件中,并包含規(guī)范的完整算法實現(xiàn)。此單元在語義上始終對調用方不可見。因此,調用方無法更改算法的內部詳細信息。

這是Ada語言的一個關鍵特征,因為可以單獨開發(fā),測試和驗證單元集合,而不必擔心組合時會發(fā)生副作用。這允許以安全和可擴展的方式構建分層或組件架構。Ada 在這方面具有其他功能,但此基本概念對于開發(fā)高可靠性應用程序至關重要。具有“#Include”樣式的其他語言功能在語義上將引用單元的源文本“包含”到引用/調用單元的源中。這使得所有內部詳細信息對調用方可見,并允許發(fā)生意外或有目的的副作用。在小程序中,可以手動檢測對這些內部細節(jié)的操縱。讀者可以看到,調用方中的拼寫錯誤可能會意外引用并更改被調用單元中的內部值(開發(fā)人員鍵入的“X”未在本地聲明,但最終在所包含的單元中引用了“X”)。再一次,在較大的程序中,像這樣的簡單引用可能保持隱藏狀態(tài),難以發(fā)現(xiàn),并且對軟件的預期含義有隱蔽的變化。

通過結合這兩個簡單的功能,語言還可以檢查兩個標識符是否可以在表達式中一起使用。假設兩個變量“A”和B“聲明為:

? A 和 B 是整數(shù)類型? A 是整數(shù),B 是顏色類型

加號(“+”)是一個子程序,具有定義數(shù)量的參數(shù)輸入,具有特定類型,具有特定的返回值類型。是否有 1 “+” 1 (A+B) 的操作“+”?是否有 1“+” 藍色 (A+B) 的操作“+”?在 C 語言的情況下,這兩個表達式都可能是有效的,但它們是什么意思?在 Ada 的情況下,第一個表達式有效,但第二個表達式無效。同樣,此類錯誤在開發(fā)生命周期的早期就被發(fā)現(xiàn),在那里它們很容易被廉價地發(fā)現(xiàn)和糾正。

我只概述了 Ada 的一些非常基本功能的一些高級優(yōu)勢,因此可以在直觀的層面上理解它們,為什么這些使程序更容易開發(fā)而沒有錯誤。Ada 語言還有更多有助于開發(fā)高可靠性程序的功能,我鼓勵您自己探索和測試它們。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 編程語言
    +關注

    關注

    10

    文章

    1956

    瀏覽量

    36665
  • 編譯器
    +關注

    關注

    1

    文章

    1662

    瀏覽量

    50228
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    ADA4807-1 adi

    電子發(fā)燒友網你提供ADI(ADI)ADA4807-1相關產品參數(shù)、數(shù)據(jù)手冊,更有ADA4807-1的引腳圖、接線圖、封裝手冊、中文資料、英文資料,ADA4807-1真值表,
    發(fā)表于 03-11 18:52
    <b class='flag-5'>ADA</b>4807-1 adi

    數(shù)字電路編程語言介紹

    數(shù)字電路編程語言是專門描述和模擬數(shù)字電路而設計的編程語言。它們通常具有以下特點: 硬件描述語言
    的頭像 發(fā)表于 01-24 09:39 ?781次閱讀

    gitee 支持的編程語言有哪些

    Gitee(碼云)是一個基于 Git 的代碼托管和研發(fā)協(xié)作平臺,類似于 GitHub 和 GitLab。它支持多種編程語言,允許開發(fā)者托管和管理代碼,進行版本控制,以及協(xié)作開發(fā)。以下是一些
    的頭像 發(fā)表于 01-06 09:50 ?674次閱讀

    Triton編譯器支持的編程語言

    Triton編譯器支持的編程語言主要包括以下幾種: 一、主要編程語言 Python :Triton編譯器通過Python接口提供了對Triton語言
    的頭像 發(fā)表于 12-24 17:33 ?967次閱讀

    如何選擇適合自己的編程語言

    在當今這個技術日新月異的時代,編程語言的選擇對于軟件開發(fā)者來說至關重要。不同的編程語言有著不同的優(yōu)勢和適用場景,因此,選擇合適
    的頭像 發(fā)表于 11-15 09:37 ?1926次閱讀

    編程語言的誤區(qū)與常見問題

    誤區(qū)一:編程語言的選擇 常見問題: 初學者在選擇編程語言時,往往會被市場上的熱門語言所吸引,而忽視了自己的實際需求和興趣。 一些開發(fā)者認為某
    的頭像 發(fā)表于 11-15 09:35 ?759次閱讀

    NPU支持的編程語言有哪些

    NPU(Neural Processing Unit)是一種專門深度學習和人工智能應用設計的處理器。NPU支持的編程語言通常與它所集成的平臺或框架緊密相關。以下是一些常見的編程
    的頭像 發(fā)表于 11-15 09:21 ?1942次閱讀

    C語言中的socket編程基礎

    Socket編程簡介 Socket是一種通信機制,允許程序之間進行通信。在C語言中,socket編程是網絡編程的基礎。通過使用socket,程序可以發(fā)送和接收數(shù)據(jù),實現(xiàn)不同計算機之間的
    的頭像 發(fā)表于 11-01 16:51 ?1235次閱讀

    MCU編程語言和開發(fā)環(huán)境介紹

    微控制器單元(Microcontroller Unit,簡稱MCU)是嵌入式系統(tǒng)的核心,廣泛應用于各種電子產品中。隨著技術的發(fā)展,MCU編程語言和開發(fā)環(huán)境也在不斷進步,以適應不同的應用需求。 1.
    的頭像 發(fā)表于 11-01 11:51 ?2199次閱讀

    C語言與其他編程語言的比較

    C語言作為一種歷史悠久的編程語言,自其誕生以來,一直在軟件開發(fā)領域扮演著重要角色。它以其高效、靈活和可移植性強的特點,成為了系統(tǒng)級編程的首選語言
    的頭像 發(fā)表于 10-29 17:30 ?1083次閱讀

    Orin芯片的編程語言支持

    Orin是一款高度集成、高性能的車載計算平臺,由英偉達推出,并采用了英偉達自家的Volta架構GPU和其他高級處理器技術。關于Orin芯片的編程語言支持,可以從以下幾個方面進行介紹: 一、主要編程
    的頭像 發(fā)表于 10-27 16:45 ?994次閱讀

    FPGA編程語言的入門教程

    FPGA(現(xiàn)場可編程邏輯門陣列)的編程涉及特定的硬件描述語言(HDL),其中Verilog和VHDL是最常用的兩種。以下是一個FPGA編程語言
    的頭像 發(fā)表于 10-25 09:21 ?1238次閱讀

    plc編程語言編程相關技巧有哪些

    PLC(可編程邏輯控制器)編程語言及相關編程技巧是工業(yè)自動化領域中不可或缺的知識。 一、PLC編程語言
    的頭像 發(fā)表于 10-21 16:56 ?1117次閱讀

    labview是什么編程語言寫的

    的一種圖形化編程語言。它并不是用傳統(tǒng)的文本編程語言(如C++、Python等)編寫的,而是采用了一種獨特的圖形化編程
    的頭像 發(fā)表于 09-04 16:00 ?2218次閱讀

    plc編程st語言怎么編

    PLC(可編程邏輯控制器)編程中的ST(Structured Text)語言是一種高級編程語言,它類似于Pascal或C
    的頭像 發(fā)表于 08-25 10:05 ?2828次閱讀