深夜美女视频一区二区_91sao在线看片水片_亚洲日韩国语_精品中文字幕久久边人妻_高潮喷水香蕉视频色_白洁国产剧情Av手机在线_国产精品情侣呻吟_天空影院播放免费完整版视频_少妇高潮惨叫喷水在线观看_公交车大龟廷进我身体里

Hi,您好,歡迎來到西安盛圖軟件科技有限公司!

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

發(fā)布時(shí)間:2023-09-04 14:01:30

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

 

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

 

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

 

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

 

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

 

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

 

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

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

 

古老的 Ada 編程語言

 

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

 

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

 

image.png

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

 

image.png

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

從 Ada 到 Rust

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

 

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

 

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

 

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

 

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

打造 Rust Fork

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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


以上為本次所有分享內(nèi)容

addffbe8602b57d798f22949b3de8ce.png



上一篇:經(jīng)驗(yàn)分享|身為程序員,你有哪些提高寫代碼效率的工具?
下一篇:知識(shí)分享|沒有人能真正精通 C++

歡迎登錄盛圖科技

歡迎注冊盛圖科技

已有賬號(hào),立即登錄