自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

選擇嵌入式編程語言的五個技巧

開發(fā) 前端
在過去的幾年里,用于嵌入式開發(fā)的編程語言的數(shù)量開始激增。 開發(fā)人員可以使用匯編、C、C++、Python、MicroPython、Java 和 Rust 等語言。(甚至還有一些工具可用于為應(yīng)用程序建模并為開發(fā)人員生成代碼)。

對于新項目,嵌入式開發(fā)人員應(yīng)該使用哪種編程語言? 這篇文章將探討一些為嵌入式開發(fā)人員選擇正確編程語言的建議。

建議 #1 – 避免死亡或正在死亡的語言

隨著時間的推移,編程語言不再流行,這是不可避免的。發(fā)明了新的做事方法,發(fā)明了新的語言來解決當(dāng)今的編程問題。 曾經(jīng)常用的語言逐漸消失,取而代之的是新的語言。

請注意,匯編語言是全球第 8 大最受歡迎的編程語言! 但是,你知道有多少人積極地用匯編語言編寫應(yīng)用程序? 在大多數(shù)情況下,匯編語言已經(jīng)死了。 當(dāng)然,我們偶爾會編寫匯編來優(yōu)化某些功能,但我們并不是每天都在編寫匯編語言。 因此,請確保你選擇的語言尚未死亡或尚未正在逐漸消失。

建議 #2 – 選擇面向?qū)ο蟮恼Z言

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

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

建議 #3 – 僅使用標(biāo)準(zhǔn)化語言

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

盡管新語言令人興奮,但對于大多數(shù)企業(yè)來說使用標(biāo)準(zhǔn)化語言是有意義的。我認(rèn)為使用具有標(biāo)準(zhǔn)的語言并積極更新這些標(biāo)準(zhǔn)以發(fā)展語言及其功能是有意義的。像 C++ 這樣的語言是一個不錯的選擇。 C++有一個定義明確的標(biāo)準(zhǔn),標(biāo)準(zhǔn)每三年更新一次。 結(jié)果,為開發(fā)人員提供了新技術(shù)和新功能來改進(jìn)他們的軟件,使語言活起來。 它還提供了一個一致的標(biāo)準(zhǔn),這樣團隊就不必承擔(dān)變更的技術(shù)債務(wù),如果他們不想這樣做。 相反,他們繼續(xù)使用他們采用的標(biāo)準(zhǔn)版本。

建議 #4 – 平衡語言運行時權(quán)重

嵌入式開發(fā)團隊的一個關(guān)鍵考慮因素是他們語言的運行時權(quán)重。

如果你檢查 C/C++,你會發(fā)現(xiàn)運行 C 應(yīng)用程序所需的代碼大小遠(yuǎn)低于 1 KB。運行代碼的開銷也可以忽略不計甚至不存在, C/C++ 具有輕量級的運行時權(quán)重。如果你檢查 Python 或 MicroPython,你會發(fā)現(xiàn)情況并非如此。 MicroPython 解釋器通常構(gòu)建到 300 – 400 KB 之間!運行解釋器的開銷相對較小,但解釋器的權(quán)重相當(dāng)高。

如果內(nèi)存成本被認(rèn)為便宜或不重要,那么重量級運行時可能沒什么大不了的。在這種情況下,使用像 MicroPython 這樣的語言可以帶來很多好處。例如,幾乎每個人都知道 Python 或者可以很快學(xué)會它。此外,它的適應(yīng)性強,編碼標(biāo)準(zhǔn)比人們想象的要多。升級應(yīng)用程序代碼也可以像更新一些腳本模塊一樣快。

在任何一種情況下,嵌入式開發(fā)團隊都應(yīng)該仔細(xì)考慮與他們選擇的語言相關(guān)的開銷。 例如,python、Java、Labview 等可能比其他語言具有更高的運行時成本。

建議 #5 – 使用適合你的語言

歸根結(jié)底,你(團隊)需要決定哪些功能和語言最適合你的需求。例如,如果整個行業(yè)都在轉(zhuǎn)向 Python,但匯編語言更有意義,因為你提供了手動優(yōu)化的庫,那么選擇匯編語言。另一方面,如果你有一堆用 C 編寫的遺留代碼,并希望繼續(xù)利用現(xiàn)有資產(chǎn),那么請使用 C。(或者包裝你的 C 代碼并使用 C++!)。

不要讓我們這個時代的語言時尚說服你改變。相反,使用有意義的方法并考慮我們在本文中討論的建議。

嵌入式開發(fā)人員和團隊確實可以選擇豐富的編程語言來開發(fā)他們的嵌入式軟件。他們選擇的語言將取決于他們編寫的軟件類型、公司的需求以及他們在維護代碼時產(chǎn)生的技術(shù)債務(wù)。在選擇要使用的語言時,本文中的建議應(yīng)提供一些額外的考慮。當(dāng)有疑問時,C/C++,尤其是 C++,可能是一個很好的默認(rèn)值。


責(zé)任編輯:華軒 來源: 今日頭條
相關(guān)推薦

2022-03-11 15:44:11

嵌入式開發(fā)技巧技術(shù)

2022-03-18 14:08:49

嵌入式開發(fā)技巧系統(tǒng)

2011-05-24 17:34:38

嵌入式系統(tǒng)

2020-04-22 11:51:41

物聯(lián)網(wǎng)嵌入式編程IOT

2022-06-30 09:01:00

嵌入式軟件技巧

2015-05-07 10:10:28

嵌入式設(shè)計軟件

2022-02-15 21:42:23

嵌入式系統(tǒng)音頻編解碼器開發(fā)

2018-06-27 09:14:54

嵌入式操作系統(tǒng)Linux

2023-01-27 23:46:36

嵌入式軟件技巧

2018-05-02 09:18:17

Linux技巧嵌入式

2022-01-10 23:43:50

嵌入式軟件開發(fā)工具

2022-02-22 23:34:03

開發(fā)工具嵌入式

2018-03-16 09:01:40

2021-01-21 08:00:50

嵌入式筆試面試

2023-11-28 09:17:05

Linux編程

2011-01-14 13:13:23

嵌入式Linux開發(fā)

2023-10-26 18:03:14

索引Python技巧

2023-04-27 07:06:18

2022-12-14 08:06:08

2009-12-24 17:21:38

嵌入式Linux
點贊
收藏

51CTO技術(shù)棧公眾號