歡迎來(lái)到培訓(xùn)無(wú)憂網(wǎng)!

全國(guó)切換

咨詢熱線 400-001-5729

位置:培訓(xùn)無(wú)憂網(wǎng) > 新聞資訊 > 電腦/IT > 嵌入式開(kāi)發(fā) >  入門(mén)嵌入式開(kāi)發(fā)學(xué)習(xí)如何正確選擇編程語(yǔ)言

入門(mén)嵌入式開(kāi)發(fā)學(xué)習(xí)如何正確選擇編程語(yǔ)言

來(lái)源:培訓(xùn)無(wú)憂網(wǎng) 發(fā)布人:星星

2022-02-18 15:43:41|已瀏覽:3091次

如何正確選擇編程語(yǔ)言

       在過(guò)去的幾年里,用于嵌入式開(kāi)發(fā)的編程語(yǔ)言的數(shù)量開(kāi)始激增。 開(kāi)發(fā)人員可以使用匯編、C、C++、Python、Micro Python、Java 和 Rust 等語(yǔ)言。甚至還有一些工具可用于為應(yīng)用程序建模并為開(kāi)發(fā)人員生成代碼。 對(duì)于新項(xiàng)目,嵌入式開(kāi)發(fā)人員應(yīng)該使用哪種編程語(yǔ)言? 這篇文章將探討一些為嵌入式開(kāi)發(fā)人員選擇正確編程語(yǔ)言的建議。

       建議 #1 – 避免死亡或正在死亡的語(yǔ)言
       隨著時(shí)間的推移,編程語(yǔ)言不再流行,這是不可避免的。發(fā)明了新的做事方法,發(fā)明了新的語(yǔ)言來(lái)解決當(dāng)今的編程問(wèn)題。 曾經(jīng)常用的語(yǔ)言逐漸消失,取而代之的是新的語(yǔ)言。請(qǐng)注意,匯編語(yǔ)言是全球第 8 大最受歡迎的編程語(yǔ)言! 但是,你知道有多少人積極地用匯編語(yǔ)言編寫(xiě)應(yīng)用程序? 在大多數(shù)情況下,匯編語(yǔ)言已經(jīng)死了。 當(dāng)然,我們偶爾會(huì)編寫(xiě)匯編來(lái)優(yōu)化某些功能,但我們并不是每天都在編寫(xiě)匯編語(yǔ)言。 因此,請(qǐng)確保你選擇的語(yǔ)言尚未死亡或尚未正在逐漸消失。
       建議 #2 – 選擇面向?qū)ο蟮恼Z(yǔ)言

       今天幾乎每個(gè)系統(tǒng)都可以用數(shù)據(jù)驅(qū)動(dòng)、面向?qū)ο蟮捏w系結(jié)構(gòu)來(lái)描述。 我相信許多嵌入式系統(tǒng)自然而然地落入了這種設(shè)計(jì)范式,沒(méi)有必要折磨我們的設(shè)計(jì)來(lái)獲得它們。 但是,選擇支持面向?qū)ο缶幊谈拍畹木幊陶Z(yǔ)言對(duì)于構(gòu)建可擴(kuò)展和可重用的軟件系統(tǒng)至關(guān)重要。

       當(dāng)我們查看嵌入式系統(tǒng)的編程語(yǔ)言列表時(shí),我們會(huì)注意到前五種語(yǔ)言存在一個(gè)小問(wèn)題; C 和匯編不是面向?qū)ο蟮恼Z(yǔ)言! 它們不提供嵌入式開(kāi)發(fā)人員實(shí)施現(xiàn)代軟件架構(gòu)所需的現(xiàn)代工具集。 此外,這些語(yǔ)言需要大量額外的工作才能獲得自然內(nèi)置到其他語(yǔ)言中的功能。

        建議 #3 – 僅使用標(biāo)準(zhǔn)化語(yǔ)言
        構(gòu)建必須經(jīng)過(guò)多年維護(hù)和更新的商業(yè)產(chǎn)品的人不應(yīng)該用非標(biāo)準(zhǔn)化的語(yǔ)言,除非他們能夠承擔(dān)與不斷升級(jí)軟件相關(guān)的技術(shù)債務(wù)。在像 Rust 一樣標(biāo)準(zhǔn)化語(yǔ)言之前,該語(yǔ)言的規(guī)范是不斷變化的。隨著語(yǔ)言的發(fā)展和確定做事的最佳方式,它在不斷變化。這意味著你可能使用一個(gè)編譯器得到結(jié)果 A,然后使用另一個(gè)編譯器得到結(jié)果 B。同樣的語(yǔ)言,不同的結(jié)果,都是因?yàn)檎Z(yǔ)言不標(biāo)準(zhǔn)化!

       盡管新語(yǔ)言令人興奮,但對(duì)于大多數(shù)企業(yè)來(lái)說(shuō)使用標(biāo)準(zhǔn)化語(yǔ)言是有意義的。我認(rèn)為使用具有標(biāo)準(zhǔn)的語(yǔ)言并積極更新這些標(biāo)準(zhǔn)以發(fā)展語(yǔ)言及其功能是有意義的。像 C++ 這樣的語(yǔ)言是一個(gè)不錯(cuò)的選擇。 

       C++有一個(gè)定義明確的標(biāo)準(zhǔn),標(biāo)準(zhǔn)每三年更新一次。 結(jié)果,為開(kāi)發(fā)人員提供了新技術(shù)和新功能來(lái)改進(jìn)他們的軟件,使語(yǔ)言活起來(lái)。 它還提供了一個(gè)一致的標(biāo)準(zhǔn),這樣團(tuán)隊(duì)就不必承擔(dān)變更的技術(shù)債務(wù),如果他們不想這樣做。 相反,他們繼續(xù)使用他們采用的標(biāo)準(zhǔn)版本。

       建議 #4 – 平衡語(yǔ)言運(yùn)行時(shí)權(quán)重
       嵌入式開(kāi)發(fā)團(tuán)隊(duì)的一個(gè)關(guān)鍵考慮因素是他們語(yǔ)言的運(yùn)行時(shí)權(quán)重。如果你檢查 C/C++,你會(huì)發(fā)現(xiàn)運(yùn)行 C 應(yīng)用程序所需的代碼大小遠(yuǎn)低于 1 KB。運(yùn)行代碼的開(kāi)銷也可以忽略不計(jì)甚至不存在, C/C++ 具有輕量級(jí)的運(yùn)行時(shí)權(quán)重。如果你檢查 Python 或 Micro Python,你會(huì)發(fā)現(xiàn)情況并非如此。 Micro Python 解釋器通常構(gòu)建到 300 – 400 KB 之間!運(yùn)行解釋器的開(kāi)銷相對(duì)較小,但解釋器的權(quán)重相當(dāng)高。

       如果內(nèi)存成本被認(rèn)為便宜或不重要,那么重量級(jí)運(yùn)行時(shí)可能沒(méi)什么大不了的。在這種情況下,使用像 Micro Python 這樣的語(yǔ)言可以帶來(lái)很多好處。例如,幾乎每個(gè)人都知道 Python 或者可以很快學(xué)會(huì)它。此外,它的適應(yīng)性強(qiáng),編碼標(biāo)準(zhǔn)比人們想象的要多。

       升級(jí)應(yīng)用程序代碼也可以像更新一些腳本模塊一樣快。在任何一種情況下,嵌入式開(kāi)發(fā)團(tuán)隊(duì)都應(yīng)該仔細(xì)考慮與他們選擇的語(yǔ)言相關(guān)的開(kāi)銷。 例如,python、Java、Lab view 等可能比其他語(yǔ)言具有更高的運(yùn)行時(shí)成本。

        建議 #5 – 使用適合你的語(yǔ)言
        歸根結(jié)底,你(團(tuán)隊(duì))需要決定哪些功能和語(yǔ)言最適合你的需求。例如,如果整個(gè)行業(yè)都在轉(zhuǎn)向 Python,但匯編語(yǔ)言更有意義,因?yàn)槟闾峁┝耸謩?dòng)優(yōu)化的庫(kù),那么選擇匯編語(yǔ)言。另一方面,如果你有一堆用 C 編寫(xiě)的遺留代碼,并希望繼續(xù)利用現(xiàn)有資產(chǎn),那么請(qǐng)使用 C。或者包裝你的 C 代碼并使用 C++!不要讓我們這個(gè)時(shí)代的語(yǔ)言時(shí)尚說(shuō)服你改變。相反,使用有意義的方法并考慮我們?cè)诒疚闹杏懻摰慕ㄗh。
       嵌入式開(kāi)發(fā)人員和團(tuán)隊(duì)確實(shí)可以選擇豐富的編程語(yǔ)言來(lái)開(kāi)發(fā)他們的嵌入式軟件。他們選擇的語(yǔ)言將取決于他們編寫(xiě)的軟件類型、公司的需求以及他們?cè)诰S護(hù)代碼時(shí)產(chǎn)生的技術(shù)債務(wù)。在選擇要使用的語(yǔ)言時(shí),本文中的建議應(yīng)提供一些額外的考慮。當(dāng)有疑問(wèn)時(shí),C/C++,尤其是 C++,可能是一個(gè)很好的默認(rèn)值。

      注:尊重原創(chuàng)文章,轉(zhuǎn)載請(qǐng)注明出處和鏈接 http://m.universityresearchassociates.com/news-id-21887.html 違者必究!部分文章來(lái)源于網(wǎng)絡(luò)由培訓(xùn)無(wú)憂網(wǎng)編輯部人員整理發(fā)布,內(nèi)容真實(shí)性請(qǐng)自行核實(shí)或聯(lián)系我們,了解更多相關(guān)資訊請(qǐng)關(guān)注嵌入式開(kāi)發(fā)頻道查看更多,了解相關(guān)專業(yè)課程信息您可在線咨詢也可免費(fèi)申請(qǐng)?jiān)囌n。關(guān)注官方微信了解更多:150 3333 6050

留下你的信息,課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!
  • 姓名:

  • 手機(jī):

  • 地區(qū):

  • 想學(xué)什么:

  • 培訓(xùn)無(wú)憂網(wǎng)
免 費(fèi) 申 請(qǐng) 試 聽(tīng)
提交申請(qǐng),《培訓(xùn)無(wú)憂網(wǎng)》課程顧問(wèn)老師會(huì)一對(duì)一幫助你規(guī)劃更適合你的專業(yè)課程!