選擇編程語言是一個復雜的決定,因為它會極大地影響軟件系統(tǒng)的預期可靠性 - 特別是在軍事應用中。幾乎任何語言都可用于開發(fā)任何應用程序,但是當從一個領(lǐng)域移動到另一個領(lǐng)域時,語言的原始設計優(yōu)勢可能不會延續(xù)。Ada語言由于其強大的類型和其他固有的安全特性,可以幫助開發(fā)人員生成非常可靠的程序,這使得程序更容易理解和修改,而不會產(chǎn)生副作用。
今天的編程語言領(lǐng)域非常豐富,但對于關(guān)鍵的嵌入式應用程序,少數(shù)應用程序往往比其他應用程序更頻繁地使用。部分列表可能包括 Ada、Assembly、C、C++ 和 Java(按字母順序排列)。這些語言(粗略地和不詳盡地)分別被定義為支持:可靠和可維護的系統(tǒng),硬件和設備的直接操作,操作系統(tǒng)和類似軟件工具的構(gòu)建,將當時新的面向?qū)ο缶幊蹋∣OP)范式添加到基礎C語言中,并支持高度可移植的應用程序。每個都擅長開發(fā)其域中的應用程序或與該域中的應用程序共享特征。
Ada 語言由于其強大的類型和其他固有的安全特性,可以幫助生成非常可靠的程序。這些相同的特征使程序更容易理解和修改,而不會產(chǎn)生副作用,因此它們更易于維護。如果需要算法來直接操作計算機的指令或數(shù)據(jù),則匯編語言是無法擊敗的。C 是一種相對簡單的語言,其中源指令通常映射到一組或一組常見的計算機指令或數(shù)據(jù)操作。術(shù)語“有思想的人的組裝者”被用來描述C來傳達這個概念。然而,它比匯編具有優(yōu)勢,因為它允許使用更高級的概念操作計算機,從而允許編寫更高級的應用程序。C++使用 C 作為其基礎,最值得注意的是在此基礎上添加了 OOP 支持。OOP允許將問題分解為更小的可管理問題,然后為正在解決的更高級別的問題創(chuàng)建解決方案,以促進低級和高級組件的共享。在這種一般意義上,OOP可以在軟件重用方面表現(xiàn)出色。Java語言旨在促進可移植性作為其主要目標。它是一種純粹的OOP語言,鼓勵繼承和重用現(xiàn)有組件,具有比C或C++更強類型的數(shù)據(jù)模型,但努力防止C/C++直接訪問/操作。
因此,匯編是直接操作計算機硬件的好語言。Ada 非常適合開發(fā)大型、長壽命系統(tǒng)或可靠性很重要的系統(tǒng)。C 適用于開發(fā)只需要應用程序和計算機之間相當?shù)偷某橄蠹墑e的應用程序。也就是說,軟件開發(fā)人員執(zhí)行將域解決方案轉(zhuǎn)換為使其在計算機上執(zhí)行的指令的任務。C++添加了 OOP 概念以及模板、命名空間管理和其他有助于軟件重用和構(gòu)建大規(guī)模應用程序的功能。Java是可移植性是關(guān)鍵設計目標的理想選擇。作為一種現(xiàn)代編程語言,它還具有比 C 或 C++ 更強大的類型化和程序打包概念,因此軟件開發(fā)人員不必直接將解決方案轉(zhuǎn)換為操縱計算機的東西(事實上,在許多情況下他們不能使用 Java)。
上述每種語言在它所針對的應用程序域中使用時都會表現(xiàn)出色。每個域可能都不適合其他域。Ada 語言在編寫非常小的程序或生存期有限的程序的語法上可能有點冗長。在這些情況下,可讀性和可維護性不太重要。C 語言直接映射到硬件解決方案的能力并不是一個優(yōu)勢,因為軟件開發(fā)人員必須編寫大中型程序,在這些程序中,從問題解決方案到計算機指令的這種心理轉(zhuǎn)換很難管理;程序員會犯錯誤。由于該語言假設開發(fā)人員的意思是他們所說的(類型),因此它將算法中的許多錯誤解釋為僅僅是他們的意圖,并且錯誤將與軟件集成而不會被發(fā)現(xiàn)。
使用C相當簡單的語言語法,開發(fā)人員可以快速編寫大量源文本。這有時會給人一種錯誤的印象,即正在編寫大量正確的軟件。情況往往并非如此,C 和 Ada 之間的生產(chǎn)力比較實際上可能表明 Ada 開發(fā)人員在編寫正確的源代碼方面更有效率。C++語言為其C基礎增加了好處,但繼承了許多與C語言相同的缺點.Java提供了可移植性,但通常是實時性能特征之間的權(quán)衡,使此類程序難以編寫,因此編寫效率較低。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19675瀏覽量
317569 -
JAVA
+關(guān)注
關(guān)注
20文章
2989瀏覽量
109705
發(fā)布評論請先 登錄
關(guān)于LED燈具的9種可靠性測試方案

可靠性測試包括哪些測試和設備?

提供半導體工藝可靠性測試-WLR晶圓可靠性測試
電機微機控制系統(tǒng)可靠性分析
IGBT的應用可靠性與失效分析

半導體集成電路的可靠性評價

霍爾元件的可靠性測試步驟
Triton編譯器支持的編程語言
如何選擇適合自己的編程語言
編程語言的誤區(qū)與常見問題
Orin芯片的編程語言支持
PCB高可靠性化要求與發(fā)展——PCB高可靠性的影響因素(上)

如何提高RS485通信的可靠性?

評論