天天看點

創造 JavaScript 僅用 10 天,名稱是為了更好推廣

avascript除了提供一個非重度開發者也能使用的程式語言外,也是提供開發者由java這類靜态型别轉至動态型别開發語言的一種選擇,但是現在mozilla所推得asm.js,又将javascript帶回到了靜态型别。

創造 JavaScript 僅用 10 天,名稱是為了更好推廣

第一天modern web大會由javascript之父同時也是mozilla基金會共同創辦人brendan eich(音:艾可,德國姓)首先拉開序幕,主講第一場主題演講javascript at 20 years,他說他在1995年僅花了10天就開發出javascript,在會採訪brendan eich還表示,javascript之是以用了java這四個字母完全是行銷上考量,他想藉由java的名氣使更多人注意到javascript。brendan eich想讓javascript乍看之下很像是java,但是其實與java的完全不同。

javascript與java其中一個很大的差異在于型别,java是靜态型别,也就是說在撰寫java程式碼時,開發者需要先定義變數的型别,而javascript卻不需要,這使得javascript的程式在開發上,更為彈性以及容易,不過卻也是javascript的緻命傷,動态型别使得javascript的執行效能受到影響。是以brendan eich提到,現在mozilla推的asm.js,是編譯過的javascript子集,這個架構限制原本javascript拖累效能的文法,而正是為了解決這個問題,讓javascript執行的效率達到跟bytecode一樣。

brendan eich在演講中,展示了兩款由支援asm.js的遊戲引擎unity與unreal,所打造的3d遊戲,過去javascript的執行效能限制了其在網頁上的應用,但是因為asm.js,是以連遊戲這種運算密集且注重效能的應用,也能在網頁平台上執行。brendan eich提到,他設計javascript除了提供一個非重度開發者也能使用的程式語言外,也是提供開發者由java這類靜态型别轉至動态型别開發語言的一種選擇,但是現在的asm.js,又将javascript帶回到了靜态型别。

brendan eich用太陽系的結構來形容javascript,其中最核心部分是标準es3(ecmascript 3),此标準定義了javascript的一些核心功能,并且能向下支援一些較舊的浏覽器,他還特别展示了以前的javascript網頁,依然能夠最新的firefox浏覽器上執行,brendan eich驕傲地表示,javascript相容性相當好。而es6則是javascript現在2015年标準,與之前版本有較大的文法以及概念變動,他也提到,一年後将會採用es7的标準,es8的标準預計将在2017年完成。

而網路論壇上有一些輿論認為,微軟最近積極推行相容于javascript的開源程式語言typescript,背後用意則是想強勢的影響es7的标準制定,brendan eich表示,他并不這麽認為,因為es的标準無法被單一組織操控的,而微軟找來c sharp之父操刀typescript,他覺得微軟真的想參與其中,且更多人貢獻心力對這個生态系試多多益善的。

現在的微軟明顯跟過去不一樣了,brendan eich認為,最近微軟在開源動作頻頻是玩真的,因為開源是現在的大環境趨勢,而他也覺得這跟微軟組織内世代交替,文化改變有很大的關系。