2015年最值得學習的程式語言是?

TP_funny發表於2015-03-03
以下為譯文:
我從事程式語言統計很多年了,有大量的資料來源包括程式碼儲存庫、Q&A討論、招聘廣告、社交媒體情況、教程頁面訪問、學習視訊檢視、開發者調查等等。資料發表在不同的時間,都可以被認為是精確的,也可以被認為是有缺陷的,但是它們可以用於發現行業趨勢。

GitHut
GitHut 是一個相對較新的資源,據分析目前在 GitHub 中有 220 萬活躍庫,前十為:
  • JavaScript
  • Java
  • Python
  • CSS
  • PHP
  • Ruby
  • C++
  • C
  • Shell
  • C#


RedMonk
2015 年 RedMonk 語言排名是通過對 GitHub 和 StackOverflow 活躍進行分析,研究結果為:
  • JavaScript
  • Java
  • PHP
  • Python
  • C#
  • C++
  • Ruby
  • CSS
  • C
  • Objective-C


Jobs Tractor
Jobs Tractor 語言趨勢分析了 Twitter 上成千上萬個工作職位,2014 年 9 月的最新資料如下:
  • Java
  • Objective-C
  • PHP
  • SQL
  • Java (Android)
  • C#
  • JavaScript
  • Python
  • Ruby
  • C++


TIOBE Index
TIOBE Index 基於熟練工程師、課程以及搜尋引擎的語言排名情況:
  • C
  • Java
  • C++
  • Objective-C
  • C#
  • JavaScript
  • PHP
  • Python
  • VisualBasic.NET
  • Visual Basic


完全不科學的調查
如果我們結合上面四個排名情況,可以得出下面這個結果:
  • Java (all)
  • JavaScript
  • PHP
  • Python
  • C / C++
  • C#
  • Objective-C
  • Ruby
  • Visual Basic
在這裡我合併了C和C++,忽略了 CSS 和 shell 指令碼。CSS 並不是一種程式語言。shell 指令碼是無論你採用什麼技術都對你有用的,不過如果你只會這個你將很難找到工作。

觀測與警示
GitHut 和 RedMonk 的結果很相似,不過這是可以預料到的。因為它們都是使用 GitHub 作為主要的資料來源。都是分析公共的儲存庫,這影響了結果指向開源技術。

TIOBE 受搜尋引擎資源的影響,這可能就是為什麼C排名靠前的原因——該語言始於 1959 年,擁有許多歷史文獻。新語言不可避免的出現了排名靠後的情況,例如 Ruby 和 Go。

教育資源可能會影響結果。例如 Python 是常用的學校和學習程式設計途徑,成千上萬的學生問問題和完成專案。不過根據我的經驗來說,Python 的工作相比 PHP 和 Ruby 來說是罕見的。Java 也有類似的情況,因為它在教育、網路、桌面和移動發展上有各種各樣的用途,所以它們的排名會相對靠前。

本地開發者的需求仍然很高,尤其是在相關工作的調查中可以看出。RedMonk 報告 Swift 在不到六個月的時間裡上升了 46 個排名達到第 22 位。然而應用開發是一門年輕的學科。目前有更多的 Web 和桌面程式設計職位空缺著。

最後,語言使用方面也有一個影響:
  • 一個單一 Web 網站和應用需求大量的技術,這可能引發桌面語言排名靠前的情況;
  • 你可以通過 CSS、JavaScript、PHP、Ruby、Python 或 shell 指令碼快速的建立幾行程式碼,但是通過C、C#、Objective-C 和 Java 這類語言卻不一定能夠完成。


趨勢
拿今天的圖表來比對 2014 年來自 RedMonk 和 Jobs Tractor 資料,你會發現幾乎沒有什麼改變,沒有新進入或大飛躍進入前十的語言。

調查不會告訴你這些
沒有最佳語言。


鮮有開發者會通過單一技術工作而富有。如果你考慮的是客戶端 JavaScript,當你沒有充分了解 HTML、CSS 等等,你不會走的太遠。你需要的越多,學習掌握的也就越多。

所以
調查很有趣,但不要拿你的事業作為賭注。記住:
僅基於調查資料或報酬前景來選擇一門語言將會失敗。


成為一個偉大的開發者有一個祕密:
放手去建立東西。


首先,發現一個問題——特別是對你有利益或有好處的。也許就是建立一個簡歷網站、組織你的財務狀況或自動化你的家,無論是什麼,確保目標是可以實現的。
然後選擇一組合適的技術,或許有幾個選擇。但是不要試圖去“強迫”某些語言:你可以在 Perl 中建立一個本地移動應用,但是資源是罕見的。
接下來建立解決方案:Google、程式碼示例和同道開發者都會對你有幫助,不過別期望它們可以提供所有問題的答案。你的專案是(或應該是)獨特的程式,只有一個人能教你,那就是你自己。
最後,不要期望一夜之間就變成一個編碼忍者。有些人有一種天然的能力,但也是花了很多很多時間來磨練他們的技能,不斷的學習新的技術和技巧。
總之,學習一門最好可以幫你解決實際問題的語言。不要在意技術的過時,因為所有語言概念上的類似讓你的技能是可轉換的。不要擔心你的選擇——just build something!

英文原文:What’s the Best Programming Language to Learn in 2015?
來自:部落格園
相關閱讀
評論(2)

相關文章