你應該學習的第一門編程語言
英文原文:Why JavaScript Is The Next (or first) Programming Language You Should Learn
很多人都在問我這樣的問題:哪門語言應該是初學編程的第一門語言?我的答案一定是 JavaScript,下面我來說說原因。
非常便捷的開發環境
我相信阻止很多人開始學習編程的障礙都是寫代碼以外的事情,如果你能夠盡快開始編寫程序,至少是還在學習的時候,就已經很好了。每個人都可以訪 問 Web 瀏覽器,這就意味著每個人都有了一個簡單的開發環境。如果你是在 Mac 下使用 Chrome,那就可以按下 cmd-opt-j,從而進入控制臺,那里你就可以開始用 JavaScript 寫代碼,修改你正在看的那個網頁。這是多么棒的感覺!除此之外,還有大量的在線編輯器和工具供你選擇,比如 CodePen,JSFiddle,讓你深入到更為完整的開發/測試/原型環境中。
簡單
JavaScript 真的為你開始學習寫代碼提供了極大的方便,讓一切都變得更加容易和有效。按照你的想法,去定義一個函數,然后調用它,再寫個循環。你可以忽略 DOM,忽略整個 Web,只關注于邏輯和代碼。慢慢開始學會建立對象和數組,JS 里的 OO 模型或許有些怪異,特別是在類和繼承方面。不過這沒關系,如果你想成為開發人員,你就要靈活一些。一旦你掌握了基礎,你就可以更為深入地學習,發現 JavaScript 的強大。
靈活
另一方面,JavaScript 也是非常靈活的語言。如果你了解了嵌在網頁中的標簽和其中的函數,并轉向對圖片和菜單的操作,你也就可以很快過度到一個更高級的 Web 應用程序,里面擁有更多的文件,更大的對象/類結構,更復雜的單頁應用等等。既然它與 DOM 和瀏覽器結合的如此緊密,JavaScript 實際上可以升級的更好,從而迎接更大的挑戰,完美地匹配 web 應用程序。
天生使用 Web 開發
許多移動 app 開發者會讓你相信 app 是未來,我一直認為開放的 web 技術才是未來的關鍵。給它一些時間,我們可以用 HTML/JS 寫出所有的移動 app,并把它們部署到我們的手機上。我相信這是一個勢在必行的趨勢,學習 Web 開發是非常重要的,你要知道它的基本原理,無論你在工作上主要用什么語言。因為無論如何,你最終還是要操作 CSS、調整一些 HTML 標簽等等,并且我不認為這些工作以后會消失。
不可避免
這條我認為是你要學習 JavaScript 的真正重要原因。如果你開發一些 web 方面的東西,你最后肯定會用到 JavaScript,這不可避免。當然你也可以用 PHP,Python,Ruby 這樣的服務器端語言,但有時候負載要傳到瀏覽器,這個時候如果你想遠程做些有意思的事情,你就又會用到 JavaScript。
輕便
我們有了 Node.js,JavaScript 已經超越了瀏覽器。你不僅可以寫服務器端 JS,而且還可以使用 node-webkit 之類的東西,將其打包成可分發的桌面應用程序,或者使用 PhoneGap 為任意平臺打包成移動 app。現在還沒有其它任何一種語言能夠有如此輕便。
工具鏈
人們熟知的每個代碼編輯器都支持 JavaScript 語法高亮和提示,我們不需要像其他語言一樣的 build 過程,因此我們便捷和輕盈。當然,也有很多的測試工具,從單元測試到功能測試,可以完全模擬使用瀏覽器的用戶。
總之,從來就沒有一個時間應該去學習編程,但如果你想現在開始,我建議從 JavaScript 開始。從簡單做起,逐步提高,多看看源代碼,多逛逛 Github。