[TEAP早期試讀]《深入淺出CoffeeScript》譯者序
圖靈社群按:
TEAP是什麼?TEAP是Turingbook Early Access Program的簡稱,即早期試讀,它公佈的是圖靈在途新書未經編輯的內容。一本書的翻譯週期約為3到6個月,如果在翻譯過程中,譯者就能與讀者進行溝通和交流,對整本書的翻譯品質是有幫助的。通過TEAP,讀者可以提前閱讀將來才能出版的內容,譯者也能收穫寶貴的反饋意見,改進翻譯,提高質量。
本書原名為CoffeeScript Accelerated JavaScript Development,中文名暫定為《深入淺出CoffeeScript》,本篇內容是該書的譯者序。
因本人系初次翻譯這種非常正式的技術書籍,難免有不妥之處,若有問題或意見建議,歡迎大家與我交流,我的郵箱:island205@gmail.com,也可以在微博上@我。
譯者序
The golden rule of CoffeeScript is: “It's just JavaScript”.——coffeescript.org
CoffeeScript的作者Jeremy Ashkenas在twitter上有個很好笑的段子:
他說:“我非常想知道在GitHire上有多少人有五年的CoffeeScript經驗,很顯然我有很多地方需要向他們學習。”
有人答道:“對的,這些人大概是在一邊煮咖啡,一邊寫指令碼”。
確實,與Python和Ruby相比,CoffeeScript非常年輕,到現在才兩年出頭的時間。
還清楚地記得,我是在瞭解Zombie.js時第一次接觸到CoffeeScript。Zombie.js是一個用於客戶端JavaScript測試的輕型框架,在我檢視Zombie.js的原始碼時,我就被CoffeeScript的優雅和左邊漂亮文件所吸引了 。
誰說使用CoffeeScript不是如邊煮咖啡邊寫指令碼一樣怡然自得呢?真的,這東西很酷!
CoffeeScript之於JavaScript,就如Less或Sass之於CSS。它吸收了JavaScript語言的精華,並且新增了很多現代指令碼語言(Python和Ruby等)所具有的特性。比如列表解析,字串插值,引數列,吸收操作符,等等。我想CoffeeScript就是大師Douglas Crockford所想要的那種JavaScript子集 。它能夠減少三分之一的程式碼量,換來的卻是去除了語言怪癖,相容所有引擎環境的JavaScript程式碼!其編譯生成的JavaScript程式碼可讀性很強,而且優雅程度不亞於直接寫出的JavaScript程式碼,研究這些,你甚至能看到JavaScript在各方面的最佳實踐。
雖然CoffeeScript非常年輕,但因為RubyRails 3.1的直接整合和在Node.js開發方面的天然優勢,CoffeeScript在很多方面都有了應用,比方說之前提到的瀏覽器模擬器Zombie.js,還有基於Express的高階Node.js開發框架Zappa,甚至使用CoffeeScript寫成的PSD檔案解析器psd.js 。
但無論CoffeeScript如何的優雅,如何的藝術,總之要記住它的金科玉律:“it's just JavaScript!”
這句話是《深入淺出CoffeeScript》這本書的精髓。作者Trevor Burnham通過一個貫穿全書的5x5拼字遊戲,從基礎開始,通俗易懂的為我們講解了CoffeeScript各方面的知識,如何與jQuery這類非常流行的類庫完美整合,如何遊刃有餘的結合Socket.IO實現Node.js雙通道非同步通訊。JavaScript能做的事情,CoffeeScript也可以,而且做起來更快,更優雅!
想要站在JavaScript開發和Web開發的最前沿麼?這本書正好適合你!
感謝圖靈公司引進了本書,給了我翻譯該書的機會。感謝諸位編輯,傅志紅老師,李鬆峰老師和李鑫老師,在翻譯過程中給予我諸多幫助和鼓勵。感謝圖靈社群裡的朋友,在閱讀了樣章之後給我了很多反饋。感謝大眾點評網尤其是前端團隊在翻譯過程中給我的理解和支援。感謝Jeremy Ashkenas設計了這門優雅的語言,還要感謝本書的作者Trevor Burnham耐心為我解答我對原文中的疑問。
最後還要感謝我的爸爸媽媽,女友吳競男,謝謝你們的支援和理解。尤其是小吳,算是我譯稿的第一個讀者,謝謝你的諸多批評和建議。
寸志
2012年2月27日
相關文章
- [TEAP早期試讀]《深入淺出CoffeeScript》CoffeeScript中的OOPOOP
- [TEAP早期試讀]《深入淺出CoffeeScript》CoffeeScript與Node.jsNode.js
- [TEAP早期試讀]《深入淺出CoffeeScript》集合與迭代節選和若干問題
- [TEAP早期試讀]《敏捷武士》推薦序敏捷
- [TEAP早期試讀]HTML5與JSONHTMLJSON
- [TEAP早期試讀]敏捷武士之敏捷簡介敏捷
- [TEAP早期試讀]資料庫和敏捷開發資料庫敏捷
- [TEAP早期試讀]《MongoDB in Action》——為什麼選擇MongoDB?MongoDB
- [TEAP早期試讀]《程式設計師的數學》- 前言程式設計師
- [TEAP早期試讀]基於WebSocket的聯機作圖例子Web
- [TEAP早期試讀]NoSQL資料庫的基礎知識SQL資料庫
- [TEAP早期試讀]《30天寫出你的作業系統》 - 挑戰多工作業系統
- [TEAP早期試讀]Android開發實現後臺下載Android
- [TEAP早期試讀]真正的好處:客戶端批量處理客戶端
- [TEAP早期試讀]Linux: 一個人加上一百萬人的智慧Linux
- [TEAP早期試讀]《Linux/Unix設計思想》之: 大教堂?多怪異Linux
- [TEAP早期試讀]《程式設計師的數學》- 邏輯工具卡諾圖程式設計師
- [譯] 深入淺出 SVGSVG
- 檔案隨機或順序讀寫原理深入淺出隨機
- 淺讀-《深入淺出Nodejs》NodeJS
- 深入淺出iOS編譯iOS編譯
- 深入淺出ClassLoader(譯)
- [TEAP早期試讀]在資料庫中使用PL/SQL實現業務邏輯的優勢資料庫SQL
- 深入淺出訪問者模式模式
- [譯] 漫畫:深入淺出 ES 模組
- [譯] 深入淺出 JavaScript 關鍵詞 -- thisJavaScript
- 精讀《深入淺出Node.js》Node.js
- 深入淺出node讀書筆記筆記
- 《深入淺出MySQL》讀書筆記MySql筆記
- 閱讀推薦——深入淺出Mesos
- 重讀eygle的<<深入淺出oracle>>Oracle
- 深入理解JVM讀書筆記四: (早期)編譯器優化JVM筆記編譯優化
- 譯 者 序
- 譯:深入淺出Python 描述符Python
- 深入淺出FE(十四)深入淺出websocketWeb
- 深入淺出Nodejs讀書筆記NodeJS筆記
- 讀《深入淺出Node.js》隨感Node.js
- 深入淺出:瞭解時序資料庫 InfluxDB資料庫UX