有一天我被問到,為了快速地在 web 開發工作上增加優勢,應該學習什麼語言。我的思緒回到了大學,那時我用 Pascal、Fortran、C和組合語言,不過那時候有不同的目標。
想做web開發,就學JavaScript
鑑於當前的狀況和趨勢,答案相對容易給出來:學習 JavaScript。四周看看,曾經低階的瀏覽器腳本語言現在變得隨處可見,從伺服器端到客戶端,每天好像有更多的選擇。
出身低微
我記得數年前投入 web 開發,學習了 HTML、用 Perl 開發 CGI 腳本。 Netscape 在 2.0 版本的瀏覽器中引進了一種稱為 LiveScript 的腳本語言,不久後名字改成了 JavaScript。這是一種很酷的語言,但是在瀏覽器大戰中,大約一年以後,由於微軟增加了支持,JavaScript 被限制在 Netscape 的瀏覽器中。它早期作用被限制在字段有效性驗證之類的簡單任務上,但是與伺服器端腳本比起來,它是非常好的選擇。 JavaScript 逐步變成了 ECMAScript 名字下的一種標準。
這麼多年,JavaScript 因為用於瀏覽器互動而成為一種酷酷的語言,但是隨著Ajax 突然爆發,支持開發者從web 伺服器發送和接收資料、而不用刷新網頁,它贏得了更多的認可。接下來的一波應該被稱為jQuery 革命,因為它和其它框架提供了開發強大 web 應用程式的易用特性。甚至微軟帶著 WinJS 框架也加入了;還有,Redmond 巨人選擇 JavaScript 做為開發 Windows 8 應用程式的平台。
當 Google 在 Chrome 瀏覽器加入了高效能的 JavaScript V8引擎時,JavaScript 有了一個較大飛躍。這次發展對於伺服器端 Node.js 上 JavaScript 的全新範式的發展是有幫助的。 Node.js 的使用一直都是令人震驚的,還有用於開發從網站到功能完整的應用程式的各種應用、大量 JavaScript 框架的產生。最後一項是數據,而 JSON 標準成為傳輸數據的最受歡迎的方式之一的苗頭,已初見端倪,大部分重要的數據存儲都支援它。
勢頭還在繼續
在過去的這麼多年裡,有很多新技術產生了(網站的進化提供了一個偉大的技術時間線),但是 JavaScript 重要的一個方面是,它已經存在了大約兩個世紀。今天它已經穩固地成為了功能豐富的語言。
這與剛開始的情形比起來,相差甚遠,那時候 JavaScript 從來都沒有自豪地寫到簡歷裡,因為真正的程式設計師是不屑於掌握它的。而現在,JavaScript 是大部分招募人員考核的重點。
當你正在尋找 web 開發的工作時,我認為 JavaScript 是可以起步的偉大語言,以下是重要原因:
進入門檻低:JavaScript 與其它語言相比,相對容易學習,你能夠在線上找到很多現成的腳本和資源。另外,JavaScript 可以被任意文字編輯器或各種免費工具創建,包括 Atom、ChromeDev Editor 和 jsFiddle。
跨平台:所有瀏覽器,還有基於 Node.js 的伺服器端,都支援 JavaScript,在大部分行動平台也正常運作。一套 JavaScript 技能可用於開發面向大部分平台的應用程式。 (注意:JavaScript 不是萬能工具。例如,像資料分析之類的耗費資源的應用程序,最好使用另一種語言。)
已有技術:伺服器端的 JavaScript 或許是個相對嶄新的概念,但是核心 JavaScript 語言已經存在多年了,隨著時間的增長,它已經成熟,並作為通用的 web 腳本語言被廣為接受。
跳板:JavaScript 和其它平台相容較好,因此當你曾經冒險採用 Ruby on Rails、ASP.NET、PHP 等其它環境時,你的 JavaScript 技能將是必要的。你仍然需要學習 HTML 和一些 CSS,透過 JavaScript 來開發強壯的 web 應用程式。
熱門技術:語言是建立了,但產業本身找到了具有 JavaScript 知識和技能的語言。看看招募職位,你將看到趨勢。
不是你哥兒的 JavaScript
我過去聽說 JavaScript 被描述成易於學習,卻難以掌握。對於許多語言,可能都是這樣,但是 web 的 JavaScript 飽和程度意味著,初學的開發者可以從其它網站快速拷貝經過檢驗的程式碼,做些必要修改就可以使用,而不需要完全理解程式碼。
如今 JavaScript 是 web 的中堅力量,因此那些想成為 web 開發者的人們,應該集中精力於它,以作為學習的第一門語言。
你同意嗎?如果你不同意,那麼你認為想找 web 開發工作的開發者應該學習的第一種語言是哪一種?在評論裡告訴我們。