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

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

用Ada寫了幾十年的飛機(jī)程序,現(xiàn)在終于可以改用Rust了

jf_WZTOguxH ? 來源:AI前線 ? 2023-09-05 16:20 ? 次閱讀

針對具有更高安全需求的行業(yè),AdaCore 表示將為其 Rust fork 提供長期支持。

對于安全問題較為重視的行業(yè)如今都對 Rust 語言抱有興趣,就連微軟最近也承認(rèn) Rust 可能是安全系統(tǒng)編程的最佳選項。但對于汽車、航空航天及國防等其他行業(yè)來說,開源語言那快速變化的特性又總會讓人望而卻步。

AdaCore 公司專門為這些比較特殊的行業(yè)提供軟件開發(fā)與驗證工具。AdaCore 最初誕生時專門支持 Ada 語言——這是一種由美國國防部于上世紀(jì) 80 年代初開發(fā)的編程語言,用以替代更早那些復(fù)雜且極易出錯的語言。

AdaCore 公司產(chǎn)品經(jīng)理兼技術(shù)策略師 Tony Aiello 表示,“從意愿上講,人們其實越來越渴望把 Rust 引入那些以安全認(rèn)證為重點的長期項目當(dāng)中。我們感受到了這波趨勢,也從客戶那里了解到不少需求。他們目前的主要顧慮是當(dāng)下的開源工具發(fā)展太快,而能夠從開源社區(qū)處獲取到的專業(yè)支持還不完善,導(dǎo)致他們遲遲不敢在 Rust 上邁出這重要的一步?!?/p>

Aiello 這里說的顧慮,是指客戶擔(dān)心開源選項不能像傳統(tǒng)服務(wù)商那樣在幾天內(nèi)修復(fù) bug,或者幫助企業(yè)解決工具鏈中可能出現(xiàn)的深層技術(shù)問題。他承認(rèn),大多數(shù)開源項目都無法在幾天之內(nèi)響應(yīng)上報的問題。

“但這種快速響應(yīng)能力在航空航天和國防領(lǐng)域已經(jīng)非常重要,特別是考慮到此類系統(tǒng)都有很長的使用壽命。我們面對的往往是飛行了幾十年的飛機(jī),這些機(jī)體上搭載的軟件棧也大多穩(wěn)定運行了幾十年。”

作為另外一種需要長期支持的應(yīng)用方向,人們對于 Rust 在嵌入式設(shè)備上的表現(xiàn)也抱有興趣。

“很多人都吵著要使用 Rust,對這種新的內(nèi)存安全語言充滿熱情。即使是在航空航天和國防等具有嚴(yán)格安全要求的領(lǐng)域,這樣一份對于工作的熱情和沖勁也同樣難能可貴?!?/p>

古老的 Ada 編程語言

Ada 源于美國軍方的一個計劃,旨在整合美軍系統(tǒng)中運行著上百種不同的程序設(shè)計語言編寫的程序。其名是為了紀(jì)念埃達(dá)·洛夫萊斯(Ada Lovelace)而使用 Ada 命名。

也就是說 Ada 早期是美國軍方的專用計算機(jī)語言,后來逐漸被應(yīng)用到商業(yè)航空、鐵路運輸、科學(xué)航天器等領(lǐng)域。在 Ada 文檔中的最佳案例上,其中有一個就是波音 777,該機(jī)型的軟件 99% 是用 Ada 完成,其中制動系統(tǒng)完全用 Ada 來完成。

Ada 雖然在軍事和航空領(lǐng)域應(yīng)用廣泛,但在商業(yè)領(lǐng)域使用場景有限。世界公認(rèn)的 Ada 專家 Bruce Krell 曾言,自 1983 年 Ada 問世以來,他始終致力于 Ada 編程,專注于國防和航空領(lǐng)域。然而,自 1994 年他離開航空航天領(lǐng)域后,再未有機(jī)會使用 Ada。因為他遇到的所有商業(yè)工作都以 C++JavaC# 完成。他坦言,初入商業(yè)世界時,他感受到了一種文化沖擊,對 C/C++ 和零軟件工程的綜合依賴猶如回到了恐龍時代。

至于具體有哪些項目使用了 Ada,從事 Ada 編程和教學(xué) 30 年,白發(fā)蒼蒼的 Jim Rogers 在 Quora 上回復(fù)道,如你所見 Ada 已被用于構(gòu)建商用、民用飛機(jī)、軍用飛機(jī)、衛(wèi)星及其運載火箭的軟件。F-22 戰(zhàn)斗機(jī)的航電軟件全部用 Ada 編寫?!耙郧坝幸晃焕辖淌诰S護(hù)了一份清單,但他在 2014 年退休了,這份清單就從此再也沒人能維護(hù)了?!?/p>

從 Ada 到 Rust

AdaCore 綜合計算各類操作系統(tǒng)硬件之間的組合,AdaCore 現(xiàn)可支持 50 多種不同平臺。

Ada 的語法源自 Pascal,而且跟 Rust 也有很多共同點,特別是內(nèi)存安全。二者都屬于強(qiáng)類型語言,就是說會嚴(yán)格限定存放在變量當(dāng)中的數(shù)據(jù)類型,由此防止因類型不匹配而導(dǎo)致的錯誤。

Aiello 還補(bǔ)充道,Rust 的類型強(qiáng)度高于 C 甚至 C++。與 Rust 一樣,Ada 也是一種靜態(tài)類型語言,就是說會在編譯時(而非運行時)檢查數(shù)據(jù)類型,從而防止錯誤的發(fā)生。

GNAT Pro 是 AdaCore 打造的開發(fā)平臺,其中包含編譯器、鏈接器、調(diào)試器和語言運行時。Aiello 表示,GNAT Pro 訂閱用戶可以使用 Rust 語言開發(fā)出可安全認(rèn)證的嵌入式應(yīng)用程序,并享受到 AdaCore 提供的技術(shù)支持。

Aiello 在采訪中解釋道,“我們提供所有服務(wù)選項并隨附保障承諾,這跟大家以往的開源工具鏈?zhǔn)褂皿w驗完全不同。在實踐當(dāng)中,專業(yè)開發(fā)團(tuán)隊一旦在使用我們的工具時發(fā)現(xiàn) bug,則可立即向我們提交工單,AdaCore 會盡快為您完成修復(fù)。”

打造 Rust Fork

AdaCore 之所以選擇分叉 Rust,是為了更好地提供長期支持并實現(xiàn)向下兼容性。AdaCore 在其中采用了 Rust 編譯器、build 加包管理器(Cargo),以及面向 x86_64 Linux 及各 Linux 交叉目標(biāo)的調(diào)試器(gdb)。該公司表示,GNAT Pro for Rust 25 計劃于明年 10 月正式推出,屆時將提供與 gprbuild 的全面集成,同時帶來先進(jìn)的 Ada-Rust 雙向綁定以支持更多平臺。

“從某種意義上說,這將是一項相當(dāng)獨特的服務(wù),也把我們與典型的開源軟件市場區(qū)分開來。在典型的開源市場中,用戶往往不清楚舊版本的編譯器會出哪些問題。一旦在舊版本中發(fā)現(xiàn) bug,問題可能長期得不到修復(fù)。因為每位貢獻(xiàn)者都在繼續(xù)前進(jìn)、展望未來,所以對以往的缺陷并不是特別關(guān)注。這在某些開發(fā)環(huán)境中有其合理性,但卻不適合那些需要長生命周期和穩(wěn)定認(rèn)證的應(yīng)用場景?!?/p>

AdaCore 還通過 GNAT Pro Assurance 提供 Rust 技術(shù)支持。只要客戶需要,這項計劃就會持續(xù)通過分支為整個工具鏈提供長效支持。

為了支持這套 Rust fork,AdaCore 還會定期從更新流中提取反饋,不斷聽取客戶對于功能的具體需求,確定將哪些內(nèi)容整合到其版本當(dāng)中。

Aiello 總結(jié)稱,“我們會獲取整個代碼倉庫,為其創(chuàng)建副本,并以此為基礎(chǔ)持續(xù)更新多個分支。當(dāng)我們將 Rust 移植到新平臺時,也會全面推動支持包的上游化,保證移植成果能夠反哺開源社區(qū)?!?/p>

對比 Rust,Ada 無疑可以算作一種“上古”編程語言。雖然 Ada 不會消亡,但年輕人也并不愿意去學(xué)它。如果 Ada 的應(yīng)用領(lǐng)域從此逐漸能用 Rust 語言代替,看起來并不是壞事。

使用 Ada 的程序員,普遍也都不年輕了。但那些年老的 Ada 程序員看到 AdaCore 支持 Rust,心中卻五味雜陳,跟我們想象中的歡欣鼓舞不太相同,他們實際上很擔(dān)心 Ada 的覆蓋范圍會進(jìn)一步收窄。

一位退休的 Ada 程序員表示很擔(dān)憂 Ada 從此會被忽視。“一個典型的例子:當(dāng) Rational 在 80 年代中期出現(xiàn)時,他們擊敗了其他 Ada 開發(fā)環(huán)境。然后他們開始支持其他語言(都是出于良好的商業(yè)原因),對 Ada 支持開始減弱,最終,他們停止發(fā)展他們的 IDE, Rational Ada 也交給其他人了。”

另一位 Ada 程序員也對此表示贊同,他甚至預(yù)測不久后 AdaCore 會更名,以淡化 Ada 的重要性。“他們之前也支持多語言,比如 C 和和 C++ ,但(據(jù)我所知)他們從未支持 C 和 C++ 的進(jìn)步(即對 C 和 C++ 的發(fā)展做出貢獻(xiàn)),但現(xiàn)在他們對 Rust 的支持程度顯然不一樣?!?/p>

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

    關(guān)注

    10

    文章

    1922

    瀏覽量

    34510
  • ada
    ada
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    21587
  • Rust
    +關(guān)注

    關(guān)注

    1

    文章

    228

    瀏覽量

    6530

原文標(biāo)題:用 Rust 拯救 60 歲老程序員:用 Ada 寫了幾十年的飛機(jī)程序,現(xiàn)在終于可以改用 Rust 了

文章出處:【微信號:AI前線,微信公眾號:AI前線】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    DA輸出0-1V方波信號,頻率幾十M,THS3217放大,接單電源就沒有波形為什么?

    我DA輸出0-1V 方波信號,頻率幾十M,THS3217放大,接雙電源能正常放大,但是接單電源就沒有波形,這是為什么?望各位大神解答
    發(fā)表于 08-30 07:47

    聯(lián)發(fā)科談未來十年的戰(zhàn)略布局

    聯(lián)發(fā)科在近日舉行的股東大會上,明確其未來十年的戰(zhàn)略布局。董事長蔡明介表示,公司將重點投入5G、AI、車及Arm構(gòu)架運算市場,以謀求長遠(yuǎn)發(fā)展。
    的頭像 發(fā)表于 05-29 10:39 ?451次閱讀

    一文深度梳理AI算力芯片

    幾十年前,CPU 作為通用處理器幾乎處理所有計算任務(wù),那個時代的顯卡有助于加快應(yīng)用程序中圖形的繪制速度。
    的頭像 發(fā)表于 04-24 15:13 ?2991次閱讀
    一文深度梳理AI算力芯片

    基于靜電紡絲納米纖維的高性能氣體傳感器綜述

    幾十年來,氣體傳感器技術(shù)的發(fā)展為污染控制和環(huán)境保護(hù)帶來了顯著的成效。
    的頭像 發(fā)表于 03-11 11:29 ?891次閱讀
    基于靜電紡絲納米纖維的高性能氣體傳感器綜述

    蘋果公司汽車項目停滯,十年投入未能實現(xiàn)完全自動駕駛

    根據(jù)彭博社馬克-格爾曼(Mark Gurman)的報道,蘋果長達(dá)十年的“泰坦計劃”終于告敗,原因在于蘋果工程團(tuán)隊過于盲目自信,始終無法攻克FSD技術(shù)困境。
    的頭像 發(fā)表于 03-04 10:09 ?298次閱讀

    從全自動駕駛到妥協(xié),蘋果汽車2028的問世之路

    十年的Apple Car,現(xiàn)在終于面臨到關(guān)鍵抉擇點,他們決定放棄無法實現(xiàn)的全自動駕駛野心,改用更實際一點的設(shè)計,目標(biāo)就是讓這個2014
    發(fā)表于 01-29 10:59 ?394次閱讀

    基于相位補(bǔ)償方法的天線增益提高方法介紹

    關(guān)于電磁超材料的研究已經(jīng)持續(xù)幾十年,學(xué)術(shù)研究方面依然是一個熱點,工程應(yīng)用方面也逐步走向落地。
    的頭像 發(fā)表于 01-22 18:10 ?3006次閱讀
    基于相位補(bǔ)償方法的天線增益提高方法介紹

    SOI+SiN平臺上III-V集成的考慮因素

    硅光子是一種光子集成電路,經(jīng)過幾十年的發(fā)展,硅光子學(xué)已經(jīng)取得了重大進(jìn)展
    的頭像 發(fā)表于 12-26 11:33 ?760次閱讀
    SOI+SiN平臺上III-V集成的考慮因素

    電壓電流相位檢測電路

    代的電路,一堆的模擬器件,如今過了幾十年,有沒有更好的辦法或者電路能夠直接獲取到電流和電壓的相位信息?
    發(fā)表于 12-22 18:21

    DeepMind論文登上Nature:困擾數(shù)學(xué)家幾十年的難題,大模型發(fā)現(xiàn)全新解

    除了模仿人類說話、寫作、寫代碼,大模型還能用來發(fā)現(xiàn)新知識。 作為今年 AI 圈的頂流,大型語言模型(LLM)擅長的是組合概念,并且可以通過閱讀、理解、寫作和編碼來幫助人們解決問題。但它們能發(fā)現(xiàn)全新
    的頭像 發(fā)表于 12-18 15:55 ?260次閱讀

    智能手機(jī)飛速發(fā)展的十年回顧總結(jié)

    又到了每年年底寫總結(jié)報告的時候,讓我們一起回顧下智能手機(jī)飛速發(fā)展的十年
    的頭像 發(fā)表于 12-05 10:56 ?1875次閱讀
    智能手機(jī)飛速發(fā)展的<b class='flag-5'>十年</b>回顧總結(jié)

    ADA4700接容性負(fù)載后失真怎么消除?

    ADI專家您好: 我現(xiàn)在ADA4700-1搭了一個放大電路,放大倍數(shù)為11,按照ADA4700文檔上的功率放大推薦電路,后端接了BDW93C和BDW94C用于功率放大,空載時輸出波形很好,接上
    發(fā)表于 11-22 08:29

    國產(chǎn)工業(yè)無線傳輸芯片企業(yè)磐啟微電子十年磨一劍

    過去的十年,是國內(nèi)半導(dǎo)體產(chǎn)業(yè)飛速發(fā)展的十年。眾多國產(chǎn)芯片公司在風(fēng)口上競相登臺,博得無數(shù)鮮花和掌聲。
    的頭像 發(fā)表于 11-16 11:10 ?1447次閱讀
    國產(chǎn)工業(yè)無線傳輸芯片企業(yè)磐啟微電子<b class='flag-5'>十年</b>磨一劍

    ADA4961脈沖響應(yīng)異常怎么解決?

    想用ADA4961驅(qū)動高速ADC,采集脈寬約為20ns~30ns的正脈沖波形(時域波形接近高斯曲線),周期不定,約幾十ms。 實際測試ADA4961對脈沖的響應(yīng)極差(忘了拍波形)。 后面
    發(fā)表于 11-14 08:22

    追光十年 | 深圳一座滿勤工作十年的光伏電站

    追光十年 | 深圳一座滿勤工作十年的光伏電站 十年追光,與時偕行。余年來,全球新能源發(fā)展巨變,起伏升沉,大浪淘沙。古瑞瓦特平穩(wěn)運行余年的
    的頭像 發(fā)表于 11-12 17:45 ?662次閱讀
    追光<b class='flag-5'>十年</b> | 深圳一座滿勤工作<b class='flag-5'>十年</b>的光伏電站