天天看點

2017 年最值得學習的程式設計語言是什麼?

2017 年最值得學習的程式設計語言是什麼?

#點選圖檔,報名參加廈門、福州源創會#

OSC 協作翻譯

原文:What’s the Best Programming Language to Learn in 2017?

連結:https://www.sitepoint.com/whats-the-best-programming-language-to-learn-in-2017/

譯者:Tocy, little_cr, BigEcho, ismdeep, jzy487

在新的一年裡投入工作,大多數人都會考慮技能和職業選擇問題。本文收集了大量有關“最好程式設計語言”的統計,讓我們一起來看看吧......

Stack Overflow 程式員調查

2016 年,由來自 173 個國家的 56,000 多名程式員協作完成了這項 stack overflow 程式員調查。

使用最廣泛的語言

JavaScript — 55.4%

SQL — 49.1%

Java — 36.3%

C# — 30.9%

PHP — 25.9%

Python — 24.9%

C++ — 19.4%

AngularJS — 17.9% (JavaScript framework)

Node.js — 17.2% (server-side JavaScript)

C — 15.5%

最喜歡的幾類語言

Rust — 79.1%

Swift — 72.1%

F# — 70.7%

Scala — 69.4%

Go — 68.7%

Clojure — 66.7%

React — 66.0%

Haskell — 64.7%

Python — 62.5%

C# — 62.0%

最不願意使用的語言

Visual Basic — 79.5%

WordPress — 74.3%

Matlab — 72.8%

Sharepoint — 72.1%

CoffeeScript — 71.0%

LAMP — 68.7% (Linux, Apache, MySQL, PHP)

Cordova — 66.9%

Salesforce — 65.4%

Perl — 61.3%

SQL — 60.3%

最有興趣學習的語言

Android — 15.8%

Node.js — 14.8%

AngularJS — 13.4%

Python — 13.3%

JavaScript — 11.9%

React — 9.2%

Swift — 8.7%

MongoDB — 8.1%

Arduino / Raspberry Pi — 8.0%

C++ — 8.0%

Stack Overflow 的頂級技術

Stack Overflow 随後對提問、回答及投票數進行了統計:

JavaScript — 16.6%

Java — 14.7%

Android — 11.5%

Python — 11.4%

C# — 11.1%

PHP — 8.6%

jQuery — 6.7%

C++ — 6.6%

HTML — 6.6%

iOS — 6.3%

PYPL 流行度

PYPL 程式設計語言檢索使用來自 Google 的資料,用以确定程式設計語言線上搜尋的頻率:

Java — 23.1%

Python — 14.4%

PHP — 9.7%

C# — 8.4%

JavaScript — 7.7%

C — 7.1%

C++ — 7.0%

Objective—C — 4.4%

R — 3.4%

Swift — 3.0%

TIOBE 索引,2017 年 1 月

TIOBE 程式設計社群指數使用搜尋引擎結果為語言提供排名百分比:

Java — 17.3%

C — 9.3%

C++ — 6.3%

C# — 4.0%

Python — 3.5%

VisualBasic.NET — 3.0%

JavaScript — 2.9%

Perl — 2.7%

Assembly Language — 2.7%

PHP — 2.6%

結果顯示,在 2016 年幅度上升最大的似乎 Go,跳躍性從無上升到 2.3%,Java 跌落 4.19%,但分值仍然是 C 的兩倍。

調查告訴了我們什麼?

絲毫不覺驚訝的是,研究結果十分有趣但也時常互相沖突,而且資料收集方法也很有限:

● 搜尋引擎的結果更能令那些擁有更多問題或更加廣泛語言的長者滿意。很少有人會期待 VisualBasic 語言高于 JAVA。

● 線上調查隻能局限于特定的參與者。Stack Overflow 很受那些在流行語言和架構中遇到問題的知識豐富的開發者歡迎。

● 曆史使用模式沒必要表明未來的發展趨勢。 Node.js 在十年前不曾出現。在 90 年代中期,對于伺服器端的開發, Perl 或 C 是最好的語言選擇。

例如,所有的調查結果都顯示 Java 排名高于 PHP。Java 常常被用于教學和指令行,桌面以及原生 Android 應用的開發。盡管在網頁開發中 WordPress 占據了 27.3%,但是它依舊被編入 PHP。PHP 在 web 伺服器中的使用率占據 82.4%,相比之下,Java 隻占據了 2.7%。

PHP 用于 web 開發,具備更廣泛的平台選擇。Java 并沒有什麼問題,但是如果你想做一個 web 開發者,PHP 會更合适你。也許,這也取決于你在哪居住,在哪工作,你所從事的行業以及你在做的是什麼。

調查是不完美的,是以也許我們可以尋找......

其他開發者的觀點

這些年我一直在寫“最好的程式設計語言”的相關文章,它們也吸引了許許多多的評論。每個人都有屬于自己的觀點,這很好。但是每個人都是錯誤的。

沒有開發者能具備使用所有開發語言的經驗。一些開發者可能會具備幾門語言知識,但是沒人能給出一個公正的選擇。不管開發者選擇和使用哪門語言作為日常使用,這門語言都将會成為他們的首選。他們将會充滿激情地維護所選的語言,因為如果他們無法維護,他們将轉換到其他語言上。

另一些開發者會從他們自身的經驗中提出值得借鑒的地方。這很有用,但是你不可能和他們有同樣的需求。為撥開這個問題,我們從那些一直被強迫使用同一門語言或架構的開發者中找尋觀點:大多數開發者會讨厭那項技術。為什麼要信任别人來為你做選擇呢?

如果我們不能依賴調查或其他人的觀點,那我們依賴什麼?

沒有“最好的語言”

如果你學習開車,那麼開車知識也可用于開公共汽車,卡車或者拖拉機。相同地,大多數電腦語言執行輸入,輸出,變量,循環,條件和功能。如果學習了任何一門語言的基礎,那麼學習其他語言就變得更加容易。主要是文法不同。

你不能選擇“錯誤”的語言;所有的開發知識都是好的知識。也許,為IOS遊戲開發選擇COBOL語言不是最好的,但是你可以快速地發現用它開發是不實際的,然後你會知道這門語言真正有用的地方。

任何學習過程最艱難的一部分都是開始學習......

你在問正确的問題嗎?

那些有一些程式設計經驗的人知道他們在朝什麼方向努力。他們之間的知識差距更加明顯:

● 如果您花費太多時間手動操作電子表格資料,請投入一些努力學習宏語言。

● 如果你一直在開發一個網站,并且對布局不滿意,下一步就應該提高 CSS 知識。

● 如果您正在開發伺服器應用程式并需要存儲資料,合理的選擇是學習 SQL 或 NoSQL 替代方案。

那些問“我應該學習什麼語言?”的人,在軟體行業可能是新人。這樣的問題就類似于問“我應該穿什麼衣服?”。 沒有人可以回答,除非他們知道你的年齡、性别、尺碼、品味、喜好、國家、當地的天氣、習慣、理發、場合等等。是以,在不知道下面幾條的情況下,不可能推薦一種語言的:

你是否對程式設計真正感興趣

你想解決什麼樣的問題

什麼硬體和系統是可用的

你擁有多少時間和學習機會

所有與上述因素相關的變量

沒有人一醒來,在沒有任何程式設計經驗的情況下就決定去發展專業性事業。如果你真的對開發感興趣,選擇一個小項目,選擇一種語言,挖掘一些教程,然後再開始。SitePoint 上一些參考文章...(詳細連結請閱讀原文)

● 建構你的第一個網站: HTML & CSS

● JavaScript 簡介 (網頁用戶端和伺服器端開發

● 初學者的 PHP & MySQL Web 開發 (web伺服器端開發)

● Ruby 簡介 (web 服務端開發)

● 聚焦 Python (Python 程式設計入門)

● Swift 簡介 (原生 iOS 開發)

堅持學習

盡管其他開發者的意見不會與您的情況完全一緻,我就 SitePoint 的主要 Web 開發閱聽人提供一點建議:

● 如果你主要從事前端開發,偶爾嘗試後端編碼。 可以嘗試 PHP、Node.js、Ruby 或任何你感興趣的語言,然後添加 SQL 到你的技能集中。

● 如果您主要從事後端開發,可以學習 HTML、CSS 和 JavaScript。 浏覽器 API 和資料格式(如 JSON)也是有益的。

架構不算在内! 首先學習語言的基礎知識。無論開發社群想法、觀點和工具集如何變化,知識依然是無價的。

你可能不想成為全棧開發人員,但至少,它将幫助你欣賞别人的工作,并能讓你更好地為項目做出貢獻。

https://mp.weixin.qq.com/s/1FjfKd7uLaAc_yWPZqdh9w