現(xiàn)在是一個(gè)物聯(lián)網(wǎng)的世界,很多人選擇了做物聯(lián)網(wǎng)項(xiàng)目。
對(duì)于物聯(lián)網(wǎng)項(xiàng)目而言,選擇編程語言的重要意義絕不在制定硬件平臺(tái)決策之下。在今天的文章中,我們將共同審視11款編程語言,并認(rèn)真考量哪一種最適合自己的下一個(gè)編程項(xiàng)目。

物聯(lián)網(wǎng)開發(fā)項(xiàng)目目前正在全球范圍的諸多企業(yè)當(dāng)中如火如荼地展開。新型硬件平臺(tái)的出現(xiàn)讓工程師們能夠以前所未有的便捷方式在物聯(lián)網(wǎng)應(yīng)用當(dāng)中構(gòu)建嵌入式系統(tǒng)。一旦選定了合適的硬件平臺(tái),接下來要做的就是為其開發(fā)應(yīng)用軟件——先別高興得太早,到了這一步擺在我們面前的選項(xiàng)會(huì)更多、也更具挑戰(zhàn)。
就在不久之前,我們對(duì)于編程語言的選擇還受到硬件平臺(tái)方案的嚴(yán)格約束。不過時(shí)至今日,多數(shù)現(xiàn)代平臺(tái)已經(jīng)基于開源標(biāo)準(zhǔn)并能夠支持多種編程語言類型,這樣出色的靈活性自然帶來了更多潛在選項(xiàng)。而這也正是我們今天所要解決的問題。
那么我們應(yīng)該如何為特定物聯(lián)網(wǎng)項(xiàng)目選擇編程語言呢?在某些情況下,我們的潛在選項(xiàng)仍然會(huì)受到當(dāng)前硬件平臺(tái)的限定。不過在其它條件下,大家完全可以立足于特定因素選擇語言類型,例如企業(yè)開發(fā)團(tuán)隊(duì)對(duì)該語言的熟悉程度、其能夠在業(yè)務(wù)環(huán)境中整體物聯(lián)網(wǎng)系統(tǒng)的其它組件所使用,或者其代碼成果是否體積更小、執(zhí)行效率更高或者編寫速度更快等等。
我們首先從眾多選項(xiàng)中挑選出了11款最為出色的語言,它們都能夠很好地完成嵌入式系統(tǒng)的編程任務(wù)。它們涵蓋范圍很廣,從用途廣泛的C++以及Java到專門面向嵌入式用例的Go以及Parasail皆在其中。每一款語言都有著自己的優(yōu)勢與局限。在閱讀了今天的文章之后,也希望大家能夠在評(píng)論當(dāng)中表達(dá)您的觀點(diǎn)與較為傾向的語言選項(xiàng),幫助我們共同了解如何更好地構(gòu)建起自己的嵌入式與物聯(lián)網(wǎng)開發(fā)項(xiàng)目。
C語言

作為一款最初用于進(jìn)行電話交換機(jī)編程的語言,C確實(shí)是我們在考慮嵌入式系統(tǒng)開發(fā)時(shí)應(yīng)當(dāng)首先審視的合理選項(xiàng)。C語言屬于軟件開發(fā)世界中的一種通用語,其適用于幾乎每一款現(xiàn)有高級(jí)嵌入式系統(tǒng)平臺(tái)。某些平臺(tái)雖然無法直接支持C語言,但不可否認(rèn)的是其仍然以基礎(chǔ)形式存在,支撐著SDK中的那些專用語言。
好消息是專業(yè)程序員們必然對(duì)C語言擁有較為深入的了解——如果做不到這一點(diǎn),那么企業(yè)應(yīng)該撥出專項(xiàng)資金幫助大家完成進(jìn)修,這對(duì)于程序員自身的職業(yè)發(fā)展以及企業(yè)運(yùn)營前景來說都將物有所值。從當(dāng)下的角度審視,C語言身上確實(shí)存在著諸多過于陳舊的因素:它屬于過程語言而非面向?qū)ο笳Z言;它并不具備內(nèi)置的圖形用戶界面;而且采用編譯而非解釋機(jī)制。不過這一切負(fù)面因素反而在物聯(lián)網(wǎng)開發(fā)項(xiàng)目當(dāng)中讓其成為最強(qiáng)而有力的語言候選人之一。
C++

自從上世紀(jì)八十年代初整個(gè)編程世界的發(fā)展車輪開始朝著面向?qū)ο笳Z言滾動(dòng)之時(shí),F(xiàn)ortran、Cobol以及C這樣的過程語言就似乎注定了被人遺忘的命運(yùn)。目前Fortran與Cobol已經(jīng)徹底淪為利基型語言(雖然Cobol的利基范圍比較可觀,但其定位局限仍然非常明顯),而C語言則憑借著Bjarne Stroustrup的工作成果而繼續(xù)停留在公眾視野當(dāng)中——其貢獻(xiàn)是為C語言開發(fā)出了一款面向?qū)ο蟮念A(yù)處理程序,也就是我們所熟知的C++。
C++保留了C語言的特性,但同時(shí)加入了數(shù)據(jù)抽象、類以及對(duì)象等機(jī)制。這一切讓C++因?yàn)槲覀冊贚inux系統(tǒng)環(huán)境中編寫嵌入式及物聯(lián)網(wǎng)代碼時(shí)的熱門選項(xiàng)。這款編程語言自誕生至今已經(jīng)跨越了三十多年的時(shí)光,但其在如今的嵌入式及物聯(lián)網(wǎng)開發(fā)領(lǐng)域仍然極具生命力。
Java
