国产gaysexchina男同gay,japanrcep老熟妇乱子伦视频,吃奶呻吟打开双腿做受动态图,成人色网站,国产av一区二区三区最新精品

Javascript:10天設(shè)計一門語言

2018-06-16 18:33 更新

演進(jìn)和使用的JavaScript是早在1995年開發(fā)的一種語言,真的是剛剛起步。

網(wǎng)景公司在1995年四月聘請Brendan Eich ,他被告知,他有10天時間創(chuàng)造并制作了一種將在Netscape的瀏覽器中運(yùn)行,以原型為工作方式的編程語言。那時候,Web創(chuàng)新的步伐是激烈的,由于微軟突然使互聯(lián)網(wǎng)的焦點(diǎn)集中在它即將發(fā)布的Windows 95操作系統(tǒng)作為對新興Netscape的瀏覽器和服務(wù)器產(chǎn)品的系統(tǒng)發(fā)布的回應(yīng)。

當(dāng)時網(wǎng)景得到如此多的來自微軟的關(guān)注,因?yàn)榫W(wǎng)景考慮將Web瀏覽器和服務(wù)器作為一個分布式操作系統(tǒng)一種新形式,而不僅僅是一個單一的應(yīng)用程序的。自從Mosaic在1993年首次亮相,網(wǎng)絡(luò)便成為可移植的,跨越Windows,Macintosh和Unix,并給了軟件開發(fā)者他們可以為所有這些環(huán)境中開發(fā)應(yīng)用程序的希望。

但是,僅憑HTML本身去定義一個新的應(yīng)用程序開發(fā)環(huán)境或操作系統(tǒng),是遠(yuǎn)遠(yuǎn)不夠。為了鞏固便攜式操作系統(tǒng)的概念,網(wǎng)絡(luò)和網(wǎng)景公司需要便攜式的編程語言。

Sun公司的Java語言似乎是便攜式重量級應(yīng)用的解決方案。一種產(chǎn)生的字節(jié)代碼并運(yùn)行在Java虛擬機(jī)中的編譯語言,Java支持豐富的來自C++的面向?qū)ο蟮哪J讲⑶宜坪跄軌蚰軌驅(qū)崿F(xiàn)和?++和C相似的性能.Java 是Web對Microsoft的Visual C + +的答案。

走進(jìn)javascript

眾所周知Java是一個豐富的,復(fù)雜的,編譯的,專門針對專業(yè)程序員的語言。Netscape和其他人一樣都想要一個輕量級的解釋語言作為對java的補(bǔ)充。這種語言需要呼應(yīng)和微軟的Visual Basic和解釋和相像,方便嵌入在網(wǎng)頁中適合非科班出身的程序員。根據(jù)艾希的回憶:

回到1995年的5月,如果我在JavaScript中加入了類,我會被告知這是太像Java或者是JavaScript是在與Java競爭…

我根據(jù)市場營銷原因,使它看起來很像Java,但不能使它太像java,javascript需要是一個愚蠢的小弟弟語言。

鑒于上面所有這些要求,約束,和局限性,布蘭登 艾希所有的時間非常緊迫,他必須制作了一個基于原型工作的,既能夠滿足太陽公司的需求又能夠趕上Netscape的2.0 B測試版的發(fā)布時間表。

技術(shù)的啟示

雖然對大多數(shù)程序員來說日程和約束可能已經(jīng)不可能反生的問題,布蘭登 艾希建設(shè)新的編程語言已經(jīng)有很長的歷史了。從他作為一個學(xué)生開始在伊利諾伊大學(xué)里的經(jīng)驗(yàn),在那里他建立語言只是進(jìn)行語法實(shí)驗(yàn)。在硅谷圖形(美國計算機(jī)公司),布蘭登 艾希創(chuàng)造出來的語言,可以用來構(gòu)建網(wǎng)絡(luò)監(jiān)控工具的擴(kuò)展。

很顯然,對于布蘭登 艾希來說建造一個 “再一次” 語言 并不是這困難的部分,對布蘭登 艾希來說這最困難的部分是建造一個復(fù)雜的,強(qiáng)大的語言,但卻被禁止使用保留用于Java的面向?qū)ο蟮恼Z法。他想在JavaScript中嵌入先進(jìn)的功能,并且不涉及java語言的語法。所以導(dǎo)致這門語言最初看起來似乎很簡單,重量輕,尚未成熟的程序員將能夠很輕易的利用其潛在的能力。

像許多其他語言一樣,JavaScript的基本語法來自C語言,包括大括號,分號和保留字。JavaScript是輕便的,和具備簡單的語義和更好的動態(tài)內(nèi)存特性的友好的C語言版本。因?yàn)橐粋€典型的網(wǎng)頁的生命周期的持續(xù)時間從幾秒鐘到幾分鐘不等,JavaScript可以采取一種非常簡單的方法,去實(shí)現(xiàn)并發(fā)性和內(nèi)存管理。

布蘭登 艾希建立了一個簡化的對象模型,組合結(jié)構(gòu)來自C語言,模式來自Smalltalk和LISP提供的數(shù)據(jù)和代碼之間的對稱性。超卡事件模型啟發(fā)在HTML文檔中添加事件的模式。面向?qū)ο蟮哪J绞强尚械模ㄟ^用原型在運(yùn)行時的語義(作為Self的代替),而不是編譯器支持的類語法(如在Java和C++中)。

一鳴驚人?

幾乎所有成功的編程語言需要一個2.0版本,在他們正真大步向前發(fā)展之前,但但現(xiàn)在為止,我們還沒有看到,也可能永遠(yuǎn)不會看到一個JavaScript2.0。沒有什么能建造在10天時間就是完美的,可是,一旦某些東西被釋放到野外,錯誤或不完善的地方迅速成為必不可少的特色,并且是幾乎不可能改變。根據(jù)布蘭登 艾?;貞洠?/p>

在開始時為了生存,JavaScript擁有的足夠的好東西。如果你回想在20世紀(jì)90年代,JavaScript是被人們所詛咒的,因?yàn)樗饕糜谠谀臑g覽器的底部狀態(tài)欄的滾動消息或閃爍圖像。隨著JavaScript獲得一些進(jìn)化方面的改進(jìn)[在20世紀(jì)90年代后期]通過[ECMA]標(biāo)準(zhǔn)的過程。在2004年和2005年,它變得速度足夠夠快,足夠夠好去催生Web 2.0革命。

盡管JavaScript的最初版本可能并不完美,但它首次采用了比較簡單的應(yīng)用程序,所以使它有時間在幕后來慢慢演變,并解決其早期的弱點(diǎn)。此外,由于JavaScript的豐富對其其運(yùn)行時的支持,而不是在它的語言的語法,提高JavaScript實(shí)現(xiàn),而無需改變現(xiàn)有的JavaScript程序的語法是比較簡單的。

當(dāng)今時代

當(dāng)Ajax革命開始時,JAVASCRIPT已經(jīng)在瀏覽器存在將近10年,移動的JavaScript成為主流應(yīng)用的重要組成部分的發(fā)展。微軟觸發(fā)Ajax在Web接口的統(tǒng)治地位,通過加入XMLHttpRequest的功能在它的Internet Explorer瀏覽器。其他瀏覽器迅速加入了類似的功能,允許JavaScript從服務(wù)器檢索數(shù)據(jù)和更新HTML文檔,而不需要一整頁的請求 - 響應(yīng)周期。有了這個創(chuàng)新,高度互動的用戶界面功能被搬進(jìn)創(chuàng)建類似桌面的經(jīng)驗(yàn)日益豐富的應(yīng)用程序,如瀏覽器谷歌郵件和谷歌地圖。

由于每一頁所需的代碼和數(shù)據(jù)量的增加,它暴露了JavaScript基于瀏覽器實(shí)現(xiàn)運(yùn)行時的弱點(diǎn)。不在是運(yùn)行每分鐘左右就重新啟動JavaScript,同一個頁面會在瀏覽器中停留數(shù)分鐘伴隨著巨大的,動態(tài)的在內(nèi)存中的數(shù)據(jù)元素和幾乎連續(xù)的后臺與服務(wù)器通信。谷歌建立了自己的Chrome瀏覽器的V8 JavaScript解釋器,把瀏覽器市場上的通知,絕不會容忍低性能的JavaScript實(shí)現(xiàn)。市場也迅速跟進(jìn)和改進(jìn)的JavaScript解釋器全線表現(xiàn)。

例如Node.js這樣的項目,使人們有可能使用JavaScript的語言構(gòu)建Web應(yīng)用程序的服務(wù)器元素。因?yàn)镴avaScript已經(jīng)從一開始急就是基于事件的,建設(shè)管理的復(fù)雜性,多線程不使用JavaScript的高度可擴(kuò)展的Web應(yīng)用程序變得很自然的。

隨著HTML5的出現(xiàn),這是完全有可能,JavaScript將很快成為主導(dǎo)移動和桌面應(yīng)用程序的編程語言。演進(jìn)和使用的JavaScript是真的才剛剛開始,這是令人印象深刻的10天,早在1995年開發(fā)的一種語言。

要查看我對艾希的采訪,訪問這里http://youtu.be/IPxQ9kEaF8c。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號