有人說程式語言(programming languages)就像宗教信仰一樣。工程師和開發人員將竭盡所能地捍衛自己所喜歡的語言。(但也很可能是因為學習一種新語言更痛苦,使我們寧可沿用舊的語言)。當然,你應該已經看過很多關於程式語言偏好的調查了。因此,就像其他的調查一樣,結果取決於訪談的對象是誰。

美國電機電子工程師學會(IEEE)最近針對其會員進行調查,詢問他們主要使用哪一種語言。由於IEEE在電子工程師社群相當具有代表性,我們很自然地期望其調查結果會和軟體社群的調查結果有所不同。對於電子工程師而言,軟體通常是讓硬體得以運作的工具,重點並不在於產品本身。

根據IEEE發佈的《2018年最熱門的程式語言》(2018 list of top programming languages),Python在整體排名中位居榜首,這和其他的調查結果並不相同。

IEEE的調查結果突顯出4種應用類別:網路、行動、企業和嵌入式。你可以從「互動調查結果」頁面,查看這4種應用任意組合的結果。圖1顯示整體排名中的前22大熱門語言。

IEEE P1 IEEE 2018程式語言調查顯示Python超越C和C++,排名第一(來源:IEEE)

圖2將調查結果限制在嵌入式應用領域。但即使是嵌入式應用,Python仍然位居榜首。你同意嗎?嵌入式系統設計師Jack Ganssle並不認同。Jack Ganssle同時也是The Ganssle Group首席顧問,他在回覆《EE Times》的郵件中說:「這項資料毫無意義。它就像是在問什麼是最受熱門的手動工具。木工可能會說是榔頭,但機械師可能會說是磨子。它完全取決於個人的工作領域。以我的業務領域——嵌入式來看,我們知道C才是王道,因為它通常達到六、七成的使用率。但我相信很少人會把它用來編寫Windows應用或iPhone應用程式(app)。」

IEEE P2 根據IEEE 2018調查,Python是嵌入式應用中最流行的程式語言,但許多工程師並不同意這個結論

Ganssle的想法也可能是錯的。雖然IEEE的調查並未另外分出Windows app,但它區分出行動應用。針對行動App,前五種最受歡迎的語言是C ++、C、Java、C#和JavaScript,分別排名第1至第5。但IEEE的調查並未指明是哪一種行動應用的語言。也許有人回覆行動應用,但可能是為手機或平板電腦編寫嵌入式程式碼。這部份就無法確定了。

「這只是讓它變得更奇怪,」Ganssle繼續說道,「在嵌入式領域,他們將C++排名在C之上,但每次調查都加以反駁說——甚至是AspenCore的調查!」

這部份Ganssle說的也沒錯。《EE Times》和《Embedded.com》(隸屬於AspenCore)進行的2017年調查,就和IEEE的調查相互矛盾。C不僅高於C++,而且還看不到Python。但據IEEE表示,即使在嵌入式系統工程師,Python也高於C和C++的排名。

延續Ganssle的看法,其結果取決於你訪問的對象是誰。根據TIOBE的2018年8月程式語言排行榜(TIOBE Index for August 2018),Java位居榜首,其次是C、C++,然後是Python (下圖。TIOBE主要生產用於測試軟體用的軟體。

IEEE P3 根據TIOBE,Java是最流行的語言(來源:TIOBE)

Firia總裁David Ewing指出:「現在美國有很多K-12的學校都在教授Python。事實上,我們公司有一款用於教授編碼的產品,就是在微控制器上使用Python進行。其實這是一種非常強大的語言,廣泛使用在工業中,也剛好是學習編碼的一個最佳起點。它說明了我們將持續看到Python被採用。」如果Ewing是對的,Python可望持續普及。

Ewing說:「這包括嵌入式系統、網路瀏覽器等。」瀏覽器專用於支持Javascript (更正確地說是ECMAscript)。因此,令人驚訝的是Javascript據稱是唯一一種擁有龐大安裝基礎的語言(安裝於每個網路瀏覽器、行動裝置等),幾乎沒有其他替代語言可支援,然而,它卻未能在IEEE的調查中排名前幾大。

Stackify的Ben Putano於2017年12月指出,「C是物聯網裝置(包括穿戴式裝置和汽車儀表板)的最佳程式語言之一。」Putano聲稱,「JavaScript由於被用於許多Web app,而持續佔據主導地位。」事實上,Putano的文章強調的是GitHub。在他的文章中,JavaScript勝出,其次是Python。C++排名第六,而C則排在第十位。

當然,如果您問自動化測試工程師使用哪種語言,那又是另一種完全不同的答案。例如《EE Times》和《EDN》在2015年進行的調查(圖4)。雖然這項調查是在幾年前進行的,但它顯示LabVIEW位居首位。而此次IEEE的調查,LabVIEW則排名在第35左右。

IEEE P4 在測試與測量以及儀器控制方面,LabVIEW在2015年排名第一(來源:EE Times/EDN)

Python目前在控制測試和測量儀器領域變得十分熱門。Measurement Computing等公司對該語言越來越感興趣。Measurement Computing總經理Peter Anderson說:「我們注意到用戶對Python支援的要求急劇上升,而且,我們也在過去一年中推出了支援Python的Windows和Linux版本。自從產品發佈以來,我們的Python網頁瀏覽量有了大幅的成長。目前,我們的Python頁面比LabVIEW頁面吸引了更多的瀏覽量。雖然這並不表示有更多客戶使用Python,但它確實顯示這種易於使用的語言日益流行。」

您使用哪種語言?為什麼?你的應用領域是什麼?

編譯:Susan Hong

(參考原文:IEEE Survey Ranks Programming Languages,by Martin Rowe)