Glimmer VM 編譯(1)
所謂的編譯就是一種翻譯器,將原始碼翻譯成為一個可以執行的程式、


瀏覽器在執行這一行程式碼前,將程式碼解析程式設計成下面這樣更低階的可以執行在 CPU 上的語言。這就是瀏覽器對 javascript 所做的事。

2003 jsmin 是一個簡單 C++ 編寫的庫,就是簡單地移除一些沒有意義的空格和註釋,來減少 javascript 檔案的尺寸。然後就是出現了 YUI ,YUI 具有與 jsmin 同樣的功能,在此基礎引入編碼識別(mangling)。


我們將程式碼中識別符進行替換為簡單的符號。


2005 年開始弄 ES4 的主要是 Brendan Eich 和開發了 AS3 的 macromedia(後來是收購 macromedia 的 Adobe)M$ 和 Yahoo(主要是 Douglas Crockford)一開始是表示合作的。2007 年,BE 和 Adobe 已經在 ES4 上花了兩年時間,但 M$ 和 DC 突然表示覺得 ES4 太過龐大,並添加了太多他們不想要的東西。最終導致 ES4 難產。
然後在 2008 - 2010 年期間,重現出學多語言適合開發 web 應用,不過他們的本質都是最終編譯為 javascript 來執行在瀏覽器上。

Cappuccino是一個開源的應用程式框架,它的目的是讓使用者開發出觀感和桌面程式相同的Web應用程式。Cappuccino採用了一種新的的叫做Objective-J的程式語言。這是以Objective-C為藍本,完全構建於JavaScript。程式碼開來像 Object-C。這裡我們只需要專心地寫 Objective-J 無需考慮樣式和結構,也就是開發人員無需考慮 html 和 css 的問題,我們可以專心地寫業務。
下面就是 Objective-j 寫的 helloworld 頁面的程式碼。

coffeeScript


這些專案都有一個共同特點就是將其他語言編譯為 javascript,GWT 是將 java 編譯為 javascript,Cappuccino 將語言便以為 javascript。