序言
本書的撰寫構想是在很多年之前,或許JavaScript程式語言在當時並不是像今天這麼的流行,但問題仍然是差不多的。或許你有聽過,JavaScript是一個容易被誤解的程式語言,那麼,你可能會好奇到底是什麼地方被誤解了?這本書或許可以提供你一些解答。
其次是在市面上的JavaScript的書籍非常多,尤其是入門的書籍更多,網路上也有很多入門教學的文章,那與這本電子書的差異會在什麼地方?
我認為第一個差異在於ES6標準,實際上大概二、三年前的舊書或舊教學可以不用再看了,未來這幾年將會是新式的JavaScript標準ES6(ES2015)的時代,現在學習新的技術才能搭上未來的這股潮流,對於已經熟悉JavaScript程式語言的開發者,也需要花點時間學習一下新式的ES6標準的用法,因為改變的幅度超過你能想像的。市面上已經開始有不少ES6標準的中文書籍,你也可以參考一下。
第二個差異在於我理想中的入門書,是不需要涵蓋所有的內容的,只需要先教"基本"的知識就行了,ES6中有很多進階的新特性,但在這本書中並沒有包含這些。也就是說這本書只挑選在ES6中,對於剛入門學習者所需要的知識部份而已。不過,對於何為"基本知識"的理解,每個作者是不同的。我所希望針對的讀者對象,是對程式語言完全不熟悉或沒有經驗的,可以將JavaScript作為基礎的程式語言來學習。
第三個差異是在於英文。我們知道所有的程式語言,不論它的程式碼或是手冊,都是由英文作為主要語言來撰寫。英文對使用中文的程式入門學習者來說,是一個門檻。在我教課的經驗中,大部份的學生英文能力都不好,英讀與英聽更是普遍都不好。程式開發使用的英文與一般我們在學校英文課堂上的英文有很大的不同,這在這本書中希望用另一種方式來學習。當然,這也免不了需要背誦一些單字,或解釋一些英文字句。我希望能透過英文字詞的理解,能更深入理解程式語言本身的設計內涵。
第四個差異在於習慣,也就是撰寫程式碼的風格樣式或習慣。過去這部份在程式開發的教學中經常會被忽略,但這幾年卻非常的盛行。JavaScript是一個鬆散的程式語言,同一件事可能有很多種不同的寫法,也很容易被誤用或用了不建議的寫法。其實很多流行的直譯式腳本語言,都有類似的問題,不好的撰寫習慣,除了會導致嚴重的可閱讀性低外,甚至會很容易造成程式濳在的問題、除錯上的困難等等。對於初學者來說,一開始就學習使用功能強大的開發工具,並沒有太大用處,反而學習好的開發習慣,才是必要的。
優良的撰寫程式碼習慣,比再棒的程式語言或開發工具還重要
對於讀者來說可能很重要的一點是,作者本身對於JavaScript程式語言到底是有多理解,才能來寫這本書,然後來教讀者們?我從10多年前在學校作的第一個網站時,就已經開始使用JavaScript程式語言。多年來,網站應用程式是我個人所熟悉的技術與工作,自然經常會接觸到。不過,這並不代表我對每種技術都很熟悉,我只比較熟悉我有使用過的部份,或是我有興趣研究的部份。
實際上,我認為沒有任何一個人可以對任何一種程式語言的每個細節部份,都可以說他很熟悉。尤其在今天開放原始碼相當盛行的時代,所有的程式語言、軟體技術都不斷的進步當中,每個軟體其背後都有很多技術強,而且還投入相當多時間與心力的程式設計師,絕非一人所為。所以沒有一本書或是某個人,可以通曉所有內部包含的技術,技術需要不斷的精進,對初學者是這樣,對已經熟悉的開發者也是如此。
實際動手作遠比學得再多重要
當然,學習一個程式語言並不是說買本書讀完就叫作學會,或是把整本書背起來,就像你今天買了本如何學騎腳踏車的書,看過後就馬上會騎腳踏車是不可能作得到的。學習新的知識就像吃東西一樣,都需要時間消化。不可能短時間一直吃同樣的東西,就算是美食當前也會覺得噁心。每個人的學習能力不同,需要消化(理解知識)的時間與方式也不同。千萬不需要心急於一時,就想要學會所有的東西,學習只是一點一滴持之以恆的累積成果。
Last updated