2011年5月19日 星期四

[程式設計] JavaScript程式快到可執行Linux

這一則JavaScript:已強大到可執行Linux的新聞,讓我有點感嘆時代進步的真快,十幾年前,我們還在用486處理的電腦,現在居然有法國的程式設計師,用Javascript在網頁程式寫出一個486的模擬器,並且可以在上面執行Linux。


以前我們資訊科系在大學有二堂可選修的課程,為作業系統(Operating System)及組合語言。前者是教導我們一些關於作業系統的知道,像今日流行的Windows、Linux、Android、iOS都屬於作業系統,而後者是教我們組合語言,最接近電腦核心的程式語言,它有教我們一些如何寫出組合語言及創作一個虛擬的作業系統。這兩者是難度偏高的選修科系,但有趣的是它跟我們用的電腦習習相關。

寫模擬器這個主題,其實早就不是新鮮事,因為我們在網路上可以找到一些舊系統的模擬器,或者像是古早遊樂器像紅白機、超級任天堂、或者較新的PlayStation及PlayStation 2模擬器,在我們最新的電腦上玩以前的遊戲,就是借由模擬器達成。

而實作十年前的486處理器,對於一些專門在研究這方面的程式設計師,並不足成為討論的話題,最有趣的是它用JavaScript,它是依附在網頁瀏覽器上的程式語言(Internet Explorer、Firefox、Chrome),所以它的執行效率以往我們認為只能實作在用一些檢查的輸入欄位檢查或提示,不能成什麼大器,更不會有人想像它可以拿來寫模擬器。

所以當程式設計師Fabrice Bellard寫了一個JavaScript PC Emulator,並且在上面可以執行一個JS/Linux時,這也難怪連JavaScript的創造者Brendan Eich也注意到這件事。

其實這也是拜Google很努力在Chrome瀏覽器去不斷改善JavaScript的執行效能,使得Firefox及IE也不得不拿香跟拜,在這種良性的競爭下,JavaScript可以做的事,早就超過我們的想像。

有興趣的人可以到這個網址(JavaScript PC Emulator),去試看看,但它目前是要用Firefox及Chrome瀏覽器,所以IE的使用者還是改一下用那二個去進網站,我試了一下確實可以運作,熟Linux的人可以試試。若進不去,也可以看一下這張圖它長什麼樣子。

image

沒有留言: