有一天我被問到,為了快速地在web開發工作上增加優勢,應該學習什麼語言。我的思緒回到了大學,那時候我用Pascal、Fortran、C和組合語言,不過那個時候有不同的標的。
鑒於當前的狀況和趨勢,答案相對容易給出來:學習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開發工作的開發者應該學習的第一門語言是哪種?在評論裡告訴我們。
譯者註:
- 《為什麼我不推薦JavsScript為首選程式語言》提供了相反的觀點。
- 《為什麼JavaScript是你應當學習的下一個(或第一個)程式語言》
— END —
英文出處:Tony Patton
譯文出處:臘八粥