每個程式設計師都需要學習 JavaScript 的7個理由
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
最近在和招聘經理交流現在找一個好的程式設計師有多難的時候,我漸漸意識到了現在程式語言越來越傾重於JavaScript。Web開發人員尤其如此。所以,如果你是一個程式設計師,那麼你應該去學習JavaScript。
需求
我之所以這樣說的主要原因是,隨著JavaScript的日漸成熟,以及Node.js方案變得越來越可行,我們對JavaScript程式設計師的需求正在持續增長。 JavaScript在需求比例上已經超過了C#,僅屈居於Java之下。如果你看看GitHub上可行的專案,你會發現JavaScript出現得越來越多,甚至領先於Java和C#。最後,再看看StackOverflow,你會發現JavaScript也處於頂層活躍中。
更好的薪酬
根據SitePoint,JavaScript的薪資要高於C#。當然,雖然現在Java的薪水還是比JavaScript高上那麼一點。但隨著JavaScript需求的增長,你可以預見它的薪酬肯定會提高。
在Gooroo,關於薪酬VS需求呈現的畫面略有不同。雖然我們對JavaScript的需求是顯而易見的,但是很明顯,幾種需求較小的語言反而薪酬更高。我懷疑這是因為許多公司仍然認為JavaScript是任何一個程式設計師都會用的語言。但是,當他們認識到“任何一個程式設計師都會JavaScript”,實際上是“任何一個程式設計師只會寫蹩腳的JavaScript程式碼”的時候,也是他們經歷慘痛教訓的時候。然後需要真正的JavaScript程式設計師進入清理留下的爛攤子。
在StackOverflow,我們看到了一份非常詳細的關於開發人員在過去三年時間中的歸類。當你最後看到“使用的技術”部分的時候,我們發現,如果你稱自己為JavaScript程式設計師(這裡假設是在客戶端),那麼你得到的報酬雖然比C#程式設計師低,但會比Java程式設計師要好,但如果你說自己是一個Node.js程式設計師(全JavaScript),那麼你能拿到第二高的工資。唯一比Node.js還高的是Objective-C(我假設以後會是,Swift)。
JavaScript正日趨成熟
新的JavaScript標準每年都會發布,而且現在很明顯,被新增到JavaScript的語法糖 (Syntactic Sugar)的數量每年都在增加。其中一個我期待的功能是,能在我的JavaScript程式碼中使用非同步和await關鍵字,以消除回撥地獄(callback hell)。
你越早開始學習JavaScript,那麼學習起來就越容易。所有的改變都是循序漸進的,就像瀏覽器正在不斷地改進處理JavaScript程式碼的能力。可以預見在不久的將來,瀏覽器不僅可以快取JavaScript檔案,還可以快取JavaScript檔案的編譯版本。
JavaScript程式設計師更能被委以重任
大概在一年前我和我的一個老朋友聊天的時候,他提到,他是他們小組(約20個程式設計師)唯一一個用這樣的方式寫JavaScript以消除變數對全域性範圍的汙染的程式設計師。這只是最簡單的例子。很多人稱自己為JavaScript程式設計師,卻不知道這些基本知識。所以,JavaScript大有可為。
而且不要忘了,現在很多支援效能分析和記憶體洩漏的工具才剛處於起步階段。如果你現在就掌握了這些技能,那麼將來肯定可以更好地推銷自己。
如果你對這一類東西感興趣,那麼可以閱讀PluralSight上的一些課程。只要搜尋“JavaScript profiling”即可。
日趨完善的框架
Angular的新版本正在開發中,而且還有Aurelia作為候選。商業產品如Scencha的EXTjs。還有用於伺服器端程式設計的Node.js。等等等等。用JavaScript開發實際的應用程式並不太難。我敢保證,如果我願意的話,我完全可以只用JavaScript來寫一個可以執行的桌面應用程式。嘿嘿。
JavaScript無處不在
JavaScript可執行在所有主要平臺的所有主流瀏覽器上,也可執行在每一個主流作業系統的伺服器端上。現如今我們在為網站寫任何一個主要功能的時候都需要有懂能夠用JavaScript寫前端的開發人員。而後端程式碼是用什麼編寫的則無所謂——不管是Java,PHP,.NET,Node.js還是其他——但是客戶端就一定需要一個JavaScript開發人員。事實上,現在很多開發人員依然沒有認識到JavaScript有多麼強大。不知道正在閱讀的你是否也是這些井底之蛙的一員。如果你確實是一個了不起的JavaScript程式設計師,那麼基本上所有有關於伺服器端平臺的工作都能夠勝任。如果再瞭解這些平臺基本上就可以上任了。
JavaScript是一種編譯語言
這也許會嚇你一跳,從技術上說,JavaScript是一種編譯語言。這有兩個含義。首先,一旦程式碼被編譯,它的執行速度或許就能媲美於任何其他可執行檔案。其次,為JavaScript寫工具在技術上是可行,並且將會建立一個不必每次載入程式碼到記憶體中時就重新編譯的二進位制檔案。
你有什麼感想?
當然,以上都是我的觀點。你有什麼感想嗎?歡迎不吝賜教。
譯文連結:http://www.codeceo.com/article/7-reasons-learn-javascript.html
英文原文:7 Reasons Every Programmer Needs to Learn JavaScript
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 每個程式設計師都需要知道的概念和術語 - codeburst程式設計師
- 每個程式設計師都會的 35 個 jQuery 小技巧程式設計師jQuery
- 每個程式設計師都該閱讀的10本書程式設計師
- 每個程式設計師都應該知道的下一個程式語言——Kotlin程式設計師Kotlin
- 新Rust程式設計師需要學習的9個功能Rust程式設計師
- 每個JavaScript工程師都應懂的33個概念JavaScript工程師
- 每個程式設計師都需要知道一些遊戲網路知識程式設計師遊戲
- 每個程式設計師都應該瞭解的硬體知識程式設計師
- 每個程式設計師都應該參加一次 GDD程式設計師
- 每個Python新手都應該知道的程式設計技巧Python程式設計
- Java程式設計師需要學習的技能Java程式設計師
- 每一個程式設計師,都希望能成為分散式系統架構師程式設計師分散式架構
- 程式設計師入門,7個方法幫助你提高學習效率!程式設計師
- Java程式設計師都需要懂的「反射」Java程式設計師反射
- 每個程式設計師都在推薦的好用api程式設計師API
- 每個程式設計師都該有個自己的部落格,分享我的四種部落格搭建教程!程式設計師
- Reflect API:每個 JavaScript 開發人員都需要的瑞士軍刀APIJavaScript
- 每個Java程式設計師都必須知道的四種負載均衡演算法Java程式設計師負載演算法
- 屬於每個程式設計師的節日,1024程式設計師節程式碼敲響世界程式設計師
- 10個學習Python的理由Python
- 為什麼每一個爬蟲工程師都應該學習 Kafka爬蟲工程師Kafka
- 程式設計師需要了解的10個Linux命令程式設計師Linux
- 關於Unicode,字符集,字元編碼,每個程式設計師都應該知道的事Unicode字元程式設計師
- 高效程式設計師的七個習慣程式設計師
- 程式設計師的10個好習慣程式設計師
- Java程式設計師必須瞭解的7個效能指標,你都知道嗎?Java程式設計師指標
- Java程式設計師需要學習哪些知識?Java程式設計師
- 程式設計師提升學習效率的3個方法,影響過整個世界程式!程式設計師
- 每個開發者都應該知道的33個JavaScript概念JavaScript
- 原來每設定一個KPI 都需要回答17個問題!KPI
- 一個合格的程式設計師,需要哪些必備技能?程式設計師
- 書單推薦:每個程式設計師必看的11本書程式設計師
- 好程式設計師web前端分享7個步驟:讓JavaScript變得更好程式設計師Web前端JavaScript
- 每個人設計人員都需要的圖片無損放大軟體Topaz Gigapixel AIAPIAI
- 程式設計師需知的 8 個線上全面學習網站程式設計師學習網站
- Java程式設計師學習的6個技巧, 你get到了嗎?Java程式設計師
- 你不得不學Python的7個理由!Python
- 21個奇葩註釋,程式設計師看了都點贊程式設計師
- UI設計師培訓入門都需要學習什麼技術?UI