2012-11-04

TypeScript vs. CoffeeScript

TypeScript 是一個開放原始碼的軟體專案,是由微軟的 C# 語言的設計者,Anders Hejlsberg 先生所設計的,TypeScript 在今年的 Build 2012 上正式亮相,雖然是開放原始碼專案,但是,應該算是微軟家的產品,目前微軟的 Visual Studio 已經有提供支援 TypeScript 的 Plugin,所以,可以用 Visual Studio 來開發 TypeScript 的程式,算是滿方便的哩 !

TypeScript 和 Javascrit 比對 (Credit Microsoft)

TypeScript 宣稱是 Javascript 的超集合 (Superset),並且,被設計來解決 Javascript 在大型軟體專案上的問題,TypeScript 除了包含並相容現有 Javascript 的程式之外,還提供了 Javascript 所沒有的靜態類型系統 ( Static Type System) 和類別 (Class) 的功能,讓 Javascript 的開發者不需要做太大的變更,就能用 TypeScript 來解決 Javascript 在大型網路系統開發所遭遇的問題,但是,因為 ECMAScript 6 已經有規範到 TypeScript 所提供的二項新功能,因此,也有人認為 TypeScript 其實只是一個實作 ECMAScript 6 規範的 Javascript 版本哩 !

TypeScript 並不是用來取代 Javascript 的,因為,TypeScript 在編譯後,會產出 Javascript 的程式碼,這一點和 CoffeeScript 類同,因此,有不少人誤以為 TypeScript 和 CoffeeScript 是同一類型的工具,但是,經過阿舍再三的查看二者的網頁後,確認這二套語言是完全不同的定位哩 !

CoffeeScript 提供簡潔易讀的語法 (擷取自 Ruby 和 Python 語法) 來讓 Javascript 的開發人員可以用更有效率的語法來開發 Javascript 的程式,而使用 CoffeeScript 撰寫的程式在開發完成後,需要經由 CoffeeScript 的編譯器來轉換成標準的 Javascrpt 語法,之後,再以轉換完成 Javascript 程式來執行。

而 TypeScript 除了新增的定義類型和類別的語法和原有的 Javascript 略有不同外,原則上,主要還是延用 Javascript 的語法,但是,也和 CoffeeScript 一樣,需要透過 TypeScript 的編譯器來轉換成標準的 Javascript 程式碼後,才能夠執行,但是,除了都有提供編譯器來將程式碼轉換成標準的 Javascript 程式碼之外,兩者就沒有太多的相同之處了哩 !

嚴格來說,要比較的話,和 TypeScript 比較相近的產品,應該算是 Google 家的 DART 語言,不過,又不是十分的相似,因為 Google 的 DART 語言所採用的作法和 TypeScript 並不相同哩 !

參考資料:
http://news.ycombinator.com/item?id=4597807
http://www.theregister.co.uk/2012/11/03/typescript_not_a_javascript_killer/
http://blogs.msdn.com/b/ericsk/archive/2012/10/02/quick-look-on-typescript.aspx

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁