有人說編程語言(programming languages)就像宗教信仰一樣。工程師和開發(fā)人員將竭盡所能地捍衛(wèi)自己所喜歡的語言。(但也很可能是因?yàn)閷W(xué)習(xí)一種新語言更痛苦,使我們寧可沿用舊的語言)。當(dāng)然,你應(yīng)該已經(jīng)看過很多關(guān)于編程語言偏好的調(diào)查了。因此,就像其他的調(diào)查一樣,結(jié)果取決于訪談的對(duì)象是誰。
美國電機(jī)電子工程師學(xué)會(huì)(IEEE)最近針對(duì)其會(huì)員進(jìn)行調(diào)查,詢問他們主要使用哪一種語言。由于IEEE在電子工程師社群相當(dāng)具有代表性,我們很自然地期望其調(diào)查結(jié)果會(huì)和軟件社群的調(diào)查結(jié)果有所不同。對(duì)于電子工程師而言,軟件通常是讓硬件得以運(yùn)作的工具,重點(diǎn)并不在于產(chǎn)品本身。
根據(jù)IEEE發(fā)布的《2018年最熱門的編程語言》(2018 list of top programming languages),Python在整體排名中位居榜首,這和其他的調(diào)查結(jié)果并不相同。
IEEE的調(diào)查結(jié)果突顯出4種應(yīng)用類別:網(wǎng)絡(luò)、行動(dòng)、企業(yè)和嵌入式。你可以從“互動(dòng)調(diào)查結(jié)果”頁面,查看這4種應(yīng)用任意組合的結(jié)果。圖1顯示整體排名中的前22大熱門語言。
IEEE 2018編程語言調(diào)查顯示Python超越C和C++,排名第一(來源:IEEE)
圖2將調(diào)查結(jié)果限制在嵌入式應(yīng)用領(lǐng)域。但即使是嵌入式應(yīng)用,Python仍然位居榜首。你同意嗎?嵌入式系統(tǒng)設(shè)計(jì)師Jack Ganssle并不認(rèn)同。Jack Ganssle同時(shí)也是The Ganssle Group首席顧問,他在回復(fù)《EE Times》的郵件中說:“這項(xiàng)數(shù)據(jù)毫無意義。它就像是在問什么是最受熱門的手動(dòng)工具。木工可能會(huì)說是榔頭,但機(jī)械師可能會(huì)說是磨子。它完全取決于個(gè)人的工作領(lǐng)域。以我的業(yè)務(wù)領(lǐng)域——嵌入式來看,我們知道C才是王道,因?yàn)樗ǔ__(dá)到六、七成的使用率。但我相信很少人會(huì)把它用來編寫Windows應(yīng)用或iPhone應(yīng)用編程(app)。”
根據(jù)IEEE 2018調(diào)查,Python是嵌入式應(yīng)用中最流行的編程語言,但許多工程師并不同意這個(gè)結(jié)論
Ganssle的想法也可能是錯(cuò)的。雖然IEEE的調(diào)查并未另外分出Windows app,但它區(qū)分出行動(dòng)應(yīng)用。針對(duì)行動(dòng)App,前五種最受歡迎的語言是C ++、C、Java、C#和JavaScript,分別排名第1至第5。但I(xiàn)EEE的調(diào)查并未指明是哪一種行動(dòng)應(yīng)用的語言。也許有人回復(fù)行動(dòng)應(yīng)用,但可能是為手機(jī)或平板電腦編寫嵌入式編程代碼。這部份就無法確定了。
“這只是讓它變得更奇怪,”Ganssle繼續(xù)說道,“在嵌入式領(lǐng)域,他們將C++排名在C之上,但每次調(diào)查都加以反駁說——甚至是AspenCore的調(diào)查!”
這部份Ganssle說的也沒錯(cuò)?!禘E Times》和《Embedded.com》(隸屬于ASPENCORE)進(jìn)行的2017年調(diào)查,就和IEEE的調(diào)查相互矛盾。C不僅高于C++,而且還看不到Python。但據(jù)IEEE表示,即使在嵌入式系統(tǒng)工程師,Python也高于C和C++的排名。
延續(xù)Ganssle的看法,其結(jié)果取決于你訪問的對(duì)象是誰。根據(jù)TIOBE的2018年8月編程語言排行榜(TIOBE Index for August 2018),Java位居榜首,其次是C、C++,然后是Python (下圖。TIOBE主要生產(chǎn)用于測(cè)試軟件用的軟件。
根據(jù)TIOBE,Java是最流行的語言(來源:TIOBE)
Firia總裁David Ewing指出:“現(xiàn)在美國有很多K-12的學(xué)校都在教授Python。事實(shí)上,我們公司有一款用于教授編碼的產(chǎn)品,就是在微控制器上使用Python進(jìn)行。其實(shí)這是一種非常強(qiáng)大的語言,廣泛使用在工業(yè)中,也剛好是學(xué)習(xí)編碼的一個(gè)最佳起點(diǎn)。它說明了我們將持續(xù)看到Python被采用?!比绻鸈wing是對(duì)的,Python可望持續(xù)普及。
Ewing說:“這包括嵌入式系統(tǒng)、網(wǎng)絡(luò)瀏覽器等?!睘g覽器專用于支持Javascript (更正確地說是ECMAscript)。因此,令人驚訝的是Javascript據(jù)稱是唯一一種擁有龐大安裝基礎(chǔ)的語言(安裝于每個(gè)網(wǎng)絡(luò)瀏覽器、移動(dòng)設(shè)備等),幾乎沒有其他替代語言可支持,然而,它卻未能在IEEE的調(diào)查中排名前幾大。
Stackify的Ben Putano于2017年12月指出,“C是物聯(lián)網(wǎng)設(shè)備(包括可穿戴設(shè)備和汽車儀表板)的最佳編程語言之一?!盤utano聲稱,“JavaScript由于被用于許多Web app,而持續(xù)占據(jù)主導(dǎo)地位?!笔聦?shí)上,Putano的文章強(qiáng)調(diào)的是GitHub。在他的文章中,JavaScript勝出,其次是Python。C++排名第六,而C則排在第十位。
當(dāng)然,如果您問自動(dòng)化測(cè)試工程師使用哪種語言,那又是另一種完全不同的答案。例如《EE Times》和《EDN》在2015年進(jìn)行的調(diào)查(圖4)。雖然這項(xiàng)調(diào)查是在幾年前進(jìn)行的,但它顯示LabVIEW位居首位。而此次IEEE的調(diào)查,LabVIEW則排名在第35左右。
在測(cè)試與測(cè)量以及儀器控制方面,LabVIEW在2015年排名第一(來源:EE Times/EDN)
Python目前在控制測(cè)試和測(cè)量儀器領(lǐng)域變得十分熱門。Measurement Computing等公司對(duì)該語言越來越感興趣。Measurement Computing總經(jīng)理Peter Anderson說:“我們注意到用戶對(duì)Python支持的要求急劇上升,而且,我們也在過去一年中推出了支持Python的Windows和Linux版本。自從產(chǎn)品發(fā)布以來,我們的Python網(wǎng)頁瀏覽量有了大幅的成長。目前,我們的Python頁面比LabVIEW頁面吸引了更多的瀏覽量。雖然這并不表示有更多客戶使用Python,但它確實(shí)顯示這種易于使用的語言日益流行?!?/p>
您使用哪種語言?為什么?你的應(yīng)用領(lǐng)域是什么?
-
編程語言
+關(guān)注
關(guān)注
10文章
1929瀏覽量
34540 -
python
+關(guān)注
關(guān)注
55文章
4767瀏覽量
84376
原文標(biāo)題:據(jù)調(diào)查,工程師最喜歡的編程語言是…
文章出處:【微信號(hào):gh_bee81f890fc1,微信公眾號(hào):面包板社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論