為什么我不建議你將JavaScript作為主力語言

jopen 10年前發布 | 15K 次閱讀 JavaScript

  英文原文:Why I don't suggest JavaScript as a first programming language

此文章引起比較大的爭論,并不代表我們贊同其觀點,這是繼 JavaScript 就是一種垃圾語言 后,另一篇黑 JS 的文章)

</blockquote>

  在你的軟件職業生涯中,JavaScript 不應該成為你的首要語言

  作者 Matthew Mombrea

  1 月 09, 2014  (幾天前,我寫了一篇文章關于在你的職業生涯中應該學習的編程語言。這個引起比較大的爭論)

  在我向大家推薦語言的時侯,一個主要的告誡就是,不要考慮 JavaScript。在我沒有表達我的觀點以前,很多人很快地向我建議 A) JavaScript 是顯而易見的選擇,還有B) 我沒有把 JS 加入名單,顯得我很無知。在這里我會詳細地說明,我為什么不像大多數那樣,建議你將 JavaScript 作為職業生涯中的主力語言。然后我會接受你的評判。

  她沒有一個好的基礎

  一個反復出現的, 由 JavaScript 傳道士提出觀點認為: 她是最簡單的能最快起步和運行的編程語言,他們的舉例無非是使用記事本編程的能力。他們提到不需要編繹器,他們舉例這種語言廣泛的 全球支持性(在任何瀏覽器上)。最后他們舉例這種語言本身對于初學者來說是多么容易。我 100% 同意這些有效的觀點。

  想象一下,你正想成為一個賽車手,然后 XYZ 團隊正在尋找一輛新車。相比找到一輛能在賽道上跑的賽車來說,找一輛自行車去完成自行車比賽是更容易一些。自行車的成本很低,學習曲線很淺,你可以很快很 容易的上手。讓我們假設你參加自行車競賽 5 年以后就可以非常地擅長了。現在你向往的 XYZ 團隊的新職位可能會無視你 5 年的自行車競技經驗。他們將會雇傭一位在賽車方面擁有更少經驗的人,相比你的自行車競賽經驗來說,他們的基礎更好,而且未來成長地更快。

  如果我招聘一些軟件開發工程師,然后一位侯選人進來說他有 5 年的 JavaScript 開發經驗,這會給面試造成非常壞的映像。這個人缺少一套完整的解決方案開發經驗,他們在斜坡上的時間將顯著超過那些只有兩年例如 c,c++,Java,C#,Python,Ruby,PHP 開發經驗的人。

  如果我只雇傭一位 Web 開發者,這個精通 JavaScript 的家伙顯然更加的有吸引力。因為他加入的只是一個自行車競賽團隊。

  我說是軟件開發這點很重要,軟件工程師,端到端的系統編程,不僅僅是孤立的 web 開發。[在這里插入反駁理由:Node.js]。是的,Node.js 我知道。但是一位有經驗的軟件專業可以擅長多種語言,他們不需要在各種場合僅使用一種語言。你可以用錘子砍倒一棵樹,但是用電鋸更有意義。

  JavaScript 是一門糟糕的面向對象語言典型例子

  我承認,JavaScript 可以被認為是一門面向對象的語言,我只是認為她不是一個好的例子。尤其作為你的主力語言。你通過 JavaScript 實現的大多數面向對象語言的途徑,會大大降低你掌握其它語言的能力。這本身并不是一件壞事,我只是認為你首先應該接觸那些更加通用的面向對象風格,然后你 接觸基礎C風格的面向對象語言會更加地容易。

  在我的觀念里,理解類和類的繼承關系是非常重要的[在這里插點 CoffeeScript 的事情,是的,我知道]。然后你開始 JavaScript 開發了,然后你會看到 JavaScript 的 constructor 和 prototype 扮演著 OOP 的角色。我忽然也想到強類型變量對于軟件開發來說非常重要。 

  結論: 每個人都 “懂” JavaScript

  除了剛開始那些將 JavaScript 作為首要編輯語言的觀點,這個當然也是對的,但一部分原因也是因為他們都是些業余的“程序員”。在這方面,JavaScript 是完美的第一語言。如果你只想會一點蹩腳的編程,如果你想調整你的 Wordpress 博客,或者僅將編程視為一種業余愛好,我衷心推薦你使用 JavaScript。這不是說 JavaScript 更容易掌握,只有很少的人能夠精通 JavaScript,而且那些人可能已經在其他語言方面積累了非常豐富的經驗;但是也有很多人寫了一點 JS 就認為自己是一名程序員。你不會想成為他們中的一員。

  如果你想在軟件開發做出一番事業,這里有很多路可以走。有很多好的語言可以選擇,這個決定可能已經在大學里做出了(我所知道的計算機科學里沒有 教 JavaScript 的)。在這篇文章中提到的這些,是我不建議那些想成為專業程序員首先學習 JavaScript 的原因。

來自: ourjs.com
                    <span id="shareA4" class="fl">                          </span>
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!