程序猿們看過來,哪些編程語言最受歡迎?
讓我們從人們想知道的原因開始。通常,至少在談到學生時,他們會問哪種語言是最受歡迎的,因為他們想學習有工作的學科。對於大多數人來說,進入一個不需要有關知識的領域是沒有意義的。
已經熟練的程序員想要了解他們當前的技能是否相關,還是考慮其他語言,因為人氣的變化可能意味著嶄新語言。
正在構建產品的開發人員也想了解流行的語言,因為如果他們正在構建API或其他兼容性選項,他們希望確保他們是客戶即將使用的解決方案。
最後,如果您要啟動一個項目,您需要選擇要構建的語言。您的第一個標準應該始終是使用可以完成工作的語言。如果一種語言非常受歡迎,但需要兩年的代碼,另一種不太受歡迎,但需要兩個月的應用程序,你顯然應該選擇不那麼受歡迎的語言。但是,在一切平等的情況下,選擇更流行的語言通常意味著獲得更多的程序員和資源,所以這也是一個重要的考慮因素。
怎麼定義熱門?
這是一個開放的問題,有一篇維基百科文章專門用于衡量編程語言的人氣。文章顯示了衡量人氣的幾個可能的因素,包括:
網路搜索中提及的語言名稱的次數,例如Google搜索趨勢指定的次數
提及語言的工作廣告數
銷售教書或描述語言的書籍數量
用語言編寫的現有代碼行數的估計,可能低估了在公共搜索中不常出現的語言
在SourceForge,Freecode和GitHub上使用該語言的項目數
論壇和新聞組中關於語言的帖子數
即使這還不完整。您可以將一些指標添加到該列表中:
編程bootcamps銷售的課程數量
在世界各地參加編程課程的學生人數
YouTube上每種語言的視頻數
在Reddit或Stack Exchange上關於語言的帖子數
如果你考慮到國家的人氣,這可能會變得更加複雜。某些語言在印度更受歡迎嗎?在美國?在俄國?
人氣不是唯一的答案。
不同的測量源
即使有一些理解,流行度可以基於這麼多不同的因素衡量,學生和專業人員仍然想知道他們是否在事業和公司的正確方向。
有一些在線網站發布語言受歡迎度指標,每個都根據不同的標準。 IEEE Spectrum採取了一種有趣的方法,因為它有一個互動式圖表,允許您加權不同的因素,如工作現場列表或開源中心項目。
編碼Dojo有一個圖表,它從作業搜索引擎Indeed.com收集統計數據。 Tiobe早就使用搜索引擎聚合來計算流行度。 PyPl看看在Google上的語言教程的受歡迎程度。
不幸的是,這不是真的有幫助。如果你在看什麼語言,或者你需要支持什麼語言,就很難決定。
OK,明白了。那麼最流行的語言是什麼?
為了幫助給你一些指導,筆者結合了上面提到的各種來源。對於三個IEEE類別,趨勢意味著語言似乎在增長,工作反映在Dice.com和CareerBuilder的工作產品,並打開反映了開源項目的數量。
結果是下圖中的排名:
語言流行度量的組合圖表。
但問題是,真的不告訴你在哪裡聚焦。為了解決問題的核心,筆者做了一些數據分析。筆者匯總了六個來源中的五個的數據(筆者省略了編碼Dojo,因為它只顯示十種語言)。然後筆者根據每個圖表上出現的位置和出現的次數對每種語言進行加權。筆者取得了前十個結果並生成了以下語言的聚類圖表。
基於IEEE,Coding Dojo,PyPl和Tiobe的David Gewirtz的加權聚合分析。
正如你所看到的,有三組語言。頂層集群包含Java,C,Python和C ++。毫無疑問,你應該熟悉這四種語言。下一個集群包含JavaScript,C#,PHP和Swift。剩下的兩種語言是Objective-C和R.
那麼這告訴我們什麼?
第一個集群中的語言,Java,C,Python和C ++,幾乎是通用語言。他們不是綁定到一個特定的編程平台或焦點。
最有趣的線索是第二個集群,包含JavaScript,C#,PHP和Swift。 JavaScript和PHP主要是web開發語言。 C#是一種以Microsoft為中心的語言。 Swift是蘋果新的主要編程語言。基本上,第二個集群是平台特定的。
再次,這告訴我們什麼?如果你知道現代編碼,你意識到你不只是使用一種語言。無論是嵌入式系統,iPhone,Web應用程序還是Microsoft伺服器應用程序,你總是需要開發。
語言熟悉只是一個難題。例如,無論你喜歡Python還是非常古老但仍在滴答作響的C,如果你正在編寫WordPress插件或主題,你是用JavaScript和PHP編寫的。不管其他語言是多麼受歡迎。如果你的僱主是微軟開發人員,你最好知道C#。
還有一些更有趣的事情,筆者想確保你注意。首先,編碼Dojo的頂層語言是SQL。這是有道理的。你很少只在SQL中編碼使用SQL訪問數據,但是您使用其他語言管理這些數據查詢。所以它是必要的。然而,只是採取一個SQL課程不會保證你有一個好工作工作,好多錢。
其次,考慮到iOS應用程序的普及,蘋果特定的語言在圖表上比您最初預期的低。但它是有道理的。如果你想去建立自己的應用程序,你想學習這些語言。但是沒有大量的公司僱傭蘋果應用程序開發人員,至少主要是。這就是為什麼Swift相對較低的圖表。 Objective-C正在被Swift取代,我們可以看到它正在我們的眼前。
語言的C族仍然佔主導地位。 Java,C ++,C,C#,甚至Objective-C都是基於C的語言。如果你只想學習一種語言,你應該選擇其中一種。筆者建議Java或C ++,因為那些將打開你C系列其餘部分學習的大門。
筆者對你的建議,特別是如果你想進入編程,是學習多種語言和多個框架。在語言中構建東西。編程不僅僅是一個智力練習。你必須實際做的東西。
在多種語言和框架中保持舒適是很重要的,因為計算機行業正在改變這麼多。當然,C已經超過數字手錶和Pong,但Swift只有幾年,卻已經在前十。你今天學到的東西可能不足以滿足你整個職業生涯。所以學習如何學習語言和學習一門語言一樣重要,最好的方法是學習多個語言。
筆者的建議很簡單。 選擇C ++或Java並學習它。 然後學習JavaScript。 越來越多的基於Web的應用程序需要良好的JavaScript技能。 然後選擇PHP,Swift或Python,取決於你想要做的工作種類。 一旦你知道這三套中的每一套都很好,你就能夠相對輕鬆地獲得你需要的任何額外的語言或框架。
本文為頭條號作者發布,不代表今日頭條立場。
推薦閱讀:
※翻譯是在做什麼
※女獵頭遇到候選人性騷擾,一定要這樣做……
※彩雲追竹的文件夾【語言運用坊】
※經典語言??增添智慧
※略談漢語是世界語言的王者