JavaScript:誕生只用了十天,名稱是為了更好推廣
JavaScript除了提供一個非重度開發(fā)者也能使用的程式語言外,也是提供開發(fā)者由Java這類靜態(tài)型別轉(zhuǎn)至動態(tài)型別開發(fā)語言的一種選擇,但是現(xiàn)在Mozilla所推得Asm.js,又將JavaScript帶回到了靜態(tài)型別。
***天Modern Web大會由JavaScript之父同時也是Mozilla基金會共同創(chuàng)辦人Brendan Eich(音:艾可,德國姓)首先拉開序幕,主講***場主題演講Javascript at 20 Years,他說他在1995年僅花了10天就開發(fā)出Javascript,在會採訪Brendan Eich還表示,JavaScript之所以用了Java這四個字母完全是行銷上考量,他想藉由Java的名氣使更多人注意到JavaScript。Brendan Eich想讓JavaScript乍看之下很像是Java,但是其實與Java的完全不同。
JavaScript與Java其中一個很大的差異在于型別,Java是靜態(tài)型別,也就是說在撰寫Java程式碼時,開發(fā)者需要先定義變數(shù)的型別,而JavaScript卻不需要,這使得JavaScript的程式在開發(fā)上,更為彈性以及容易,不過卻也是JavaScript的致命傷,動態(tài)型別使得JavaScript的執(zhí)行效能受到影響。因此Brendan Eich提到,現(xiàn)在Mozilla推的Asm.js,是編譯過的JavaScript子集,這個架構(gòu)限制原本JavaScript拖累效能的語法,而正是為了解決這個問題,讓JavaScript執(zhí)行的效率達(dá)到跟Bytecode一樣。
Brendan Eich在演講中,展示了兩款由支援Asm.js的游戲引擎Unity與Unreal,所打造的3D游戲,過去JavaScript的執(zhí)行效能限制了其在網(wǎng)頁上的應(yīng)用,但是因為Asm.js,因此連游戲這種運算密集且注重效能的應(yīng)用,也能在網(wǎng)頁平臺上執(zhí)行。Brendan Eich提到,他設(shè)計JavaScript除了提供一個非重度開發(fā)者也能使用的程式語言外,也是提供開發(fā)者由Java這類靜態(tài)型別轉(zhuǎn)至動態(tài)型別開發(fā)語言的一種選擇,但是現(xiàn)在的Asm.js,又將JavaScript帶回到了靜態(tài)型別。
Brendan Eich用太陽系的結(jié)構(gòu)來形容JavaScript,其中最核心部分是標(biāo)準(zhǔn)ES3(ECMAScript 3),此標(biāo)準(zhǔn)定義了JavaScript的一些核心功能,并且能向下支援一些較舊的瀏覽器,他還特別展示了以前的JavaScript網(wǎng)頁,依然能夠***的Firefox瀏覽器上執(zhí)行,Brendan Eich驕傲地表示,JavaScript相容性相當(dāng)好。而ES6則是JavaScript現(xiàn)在2015年標(biāo)準(zhǔn),與之前版本有較大的語法以及概念變動,他也提到,一年后將會採用ES7的標(biāo)準(zhǔn),ES8的標(biāo)準(zhǔn)預(yù)計將在2017年完成。
而網(wǎng)路論壇上有一些輿論認(rèn)為,微軟最近積極推行相容于JavaScript的開源程式語言TypeScript,背后用意則是想強勢的影響ES7的標(biāo)準(zhǔn)制定,Brendan Eich表示,他并不這麼認(rèn)為,因為ES的標(biāo)準(zhǔn)無法被單一組織操控的,而微軟找來C Sharp之父操刀TypeScript,他覺得微軟真的想?yún)⑴c其中,且更多人貢獻(xiàn)心力對這個生態(tài)系試多多益善的。
現(xiàn)在的微軟明顯跟過去不一樣了,Brendan Eich認(rèn)為,最近微軟在開源動作頻頻是玩真的,因為開源是現(xiàn)在的大環(huán)境趨勢,而他也覺得這跟微軟組織內(nèi)世代交替,文化改變有很大的關(guān)系。