香蕉久久久久久av成人,精品国产乱码久久久久久1区2区,被绑在机器上榨精失禁男男,2023国产麻豆剧传媒鱿鱼游戏

地方互聯(lián)網(wǎng)創(chuàng)業(yè)交流論壇 - 框分類信息系統(tǒng)

首頁 » 框分類信息系統(tǒng) » 論壇 » JavaScript是Web的匯編語言(二):瘋狂 亦或只是精神錯亂?
該用戶已被刪除 - 2012/3/9 8:22:57
有些人認(rèn)為“JavaScript是Web的匯編語言”完全是精神病說的話。為此,我詢問了幾位JavaScript權(quán)威,比如Brendan Eich(JavaScript之父)、Douglas Crockford(JSON之父),還有Mike Shaver(Mozilla技術(shù)副總裁)。以下都是從個人郵件里摘過來的,得到了以上幾位的許可。

Mike Shaver:

以前我就聽說過這種比較,我認(rèn)為很大程度上確實(shí)如此。但是,這種說法忽視了JS開發(fā)人員與機(jī)器之間的人機(jī)工程學(xué)方面的大量努力,因?yàn)閰R編語法設(shè)計得沒有那么人性化(特別是現(xiàn)代的匯編語言)。

Brendan Eich:

幾年前,我曾說過“JS是Web的x86”(好像是在一次JSConf上),不過我不敢說我是第一個這么說的。(Nick Thompson今年也在Hacker News中這么說過。)

關(guān)鍵在于,JS確實(shí)在按照我們想的,越來越往低級方向發(fā)展了。但它也具備高級的特性。

Shaver說得沒錯,匯編缺少可靠的宏處理器,因此不適合程序員,也不夠安全。但JS可不是這樣。所以,這個比喻需要加點(diǎn)限制條件,不然就要鬧出笑話來了。

無論從高級函數(shù)式編程還是內(nèi)存安全角這個角度看,還是從低級特性,像類型化數(shù)組以及即將成為現(xiàn)實(shí)的ES中類型化數(shù)組的擴(kuò)展、二進(jìn)制數(shù)據(jù),等等來說,JS都是一個比匯編更加強(qiáng)大的編程語言。當(dāng)然了,內(nèi)存安全是首要的區(qū)別。

Douglas Crockford:

就這個問題來說,我覺得說JavaScript是Web的虛擬機(jī)更接近一些。過去我們一直都把Java的JVM看成是Web的虛擬機(jī),但結(jié)果呢,JavaScript才是。

從提供代碼安全的角度說,JavaScript的解析器比JVM的字節(jié)碼驗(yàn)證器更有效。就兌現(xiàn)“編寫一次,到處運(yùn)行”這個諾言來看,JavaScript更出色;這或許正是因?yàn)樗窃谳^高層次上運(yùn)行,才得以避免觸及一些底層的棘手問題。因?yàn)樗咽O碌氖聝憾冀唤o圖靈去解決了。

當(dāng)然啦,也有不少人始終不肯承認(rèn)JavaScript能把一切都處理好,我過去就是這樣一個人。而現(xiàn)在我則不斷地被眼前這種百花齊放的景象震撼著。

Brendan Eich,補(bǔ)充:

Doug說源代碼強(qiáng)過字節(jié)碼,說得太好了。很早以前,我的朋友,加州大學(xué)歐文分校的Michael Franz教授就指出了Java驗(yàn)證器O(n^4)級別的復(fù)雜性(計算機(jī)時鐘周期失控,拒絕服務(wù))。精簡之后的JS呢,確實(shí)傳輸更便捷,而且詞法/語法分析也相當(dāng)快。

(JS)源代碼作為“字節(jié)碼”同樣也避免了Java字節(jié)碼的一個很傻的問題:凍結(jié)設(shè)計不良的Java低級形式,導(dǎo)致高級形式的源代碼也無法解決這個問題。換句話說,Java唯恐破壞其字節(jié)碼的兼容性。而這嚴(yán)重影響了Java內(nèi)部類及其泛型的設(shè)計?!还茉趺凑f,Sun最后還是破壞了字節(jié)碼的兼容性。

以下是前一段時間Nick Thompson在YCombinator說過的話:

這只是我個人的看法:我花了自己兩年時間,想盡可能讓JVM能夠與JavaScript互通。當(dāng)時的Netscape有不少人認(rèn)為字節(jié)碼作為移動代碼的基礎(chǔ)比較好。但Sun從頭搭建了自己大而全的軟件體系,把問題搞得很復(fù)雜。他們沒有想讓Java與其他語言溝通,更別提讓Java能嵌入其他軟件中了。他們的字符串處理代碼都是用一種解釋型語言來寫,而不肯用C來玷污自己!有什么我就說什么,Netscape,這個當(dāng)時Java唯一的一個大客戶,在Sun眼里無非就是一個用來實(shí)現(xiàn)他們?nèi)〈鶺indows夢想的工具而已。所有想用Java的人都是自己給自己找罪受。

在此期間,Brendan一個人干了10個工程師,外加3個客戶服務(wù)人員的活兒,同時還要關(guān)注Web作者在乎的一些事,比如把JS代碼混合到HTML中、即時加載、與瀏覽器其他模塊的集成等等,此外還要協(xié)調(diào)其他瀏覽器廠商,以便讓JS成為一個開放標(biāo)準(zhǔn)。

因此,今天的JS作為Web的x86匯編程序,并沒有像它本該的那樣完美,但你通過它真能把事情稿定(GWT就是一個最明顯的例子)。這可以說是一個經(jīng)典的“更差就是更好”的例子,只不過Java也就是從下往上那么看起來更好罷了。而JS則在此期間取得了相當(dāng)不錯的成就。要想取代它的地位可沒那么容易。

當(dāng)然,這個比喻不一定準(zhǔn)確。JavaScript代碼無論從外觀到行為,肯定不像ASM。但作為一個比喻,至少可以說明:

JavaScript無所不在;

它速度快而且越來越快;

JavaScript酷似低級的Web編程語言;

它可以通過手工編寫,也可以從另一種語言編譯而來。

諸如此類的話題也經(jīng)常在Hacker News中出現(xiàn):

“現(xiàn)在的JavaScript其實(shí)就是客戶端的匯編語言。想改它太難了,所以得想辦法開發(fā)一些工具來解決這個問題?!薄猨onnycat

好啦,能聽到如此有見地、有深度,而又詳盡的討論,該滿足了吧。親愛的讀者,你們太棒了。
1
查看完整版本: JavaScript是Web的匯編語言(二):瘋狂 亦或只是精神錯亂?
日韩精品无码视频一区二区蜜桃| 9孩岁女精品╳片| 少妇柔佳第一次| 成人h无码日本动漫在线观看| 免费看成人aa片无码视频吃奶| 欧美巨大粗爽av在线观看| 中文字幕无码毛片免费看| 女人高潮真实叫床声mp3| 1313久久国产午夜精品理论片 | 欧美特黄a级高清免费大片a片| 拔萝卜高清视频大全免费观看| 久久精品无码一区二区三区免费| 一区二区乱子伦在线播放| 成人家庭影院| 亚洲色大成网站www| 亚洲国产精品无码久久sm| 国产69精品久久久久777| 农场主的女儿们 经典k 8| 精品人妻无码专区在线视频不卡 | 亚洲熟妇少妇任你躁在线观看无码| 天堂√在线中文资源网| 国内精品久久久久久99蜜桃| 成免费crm在线看系统| 四十路の五十路熟女豊満| 永久免费无码AV在线网站| 公公的淫之手| 贵妇情欲按摩a片| 中文字幕人妻女友一区蜜芽视频| 久久精品国产一区二区三| gogo人体大胆瓣开下部l| 精品久久久无码中文字幕边打电话| 国产精品乱码一区二三区| 一女被多男玩喷潮视频免费看| 粗大老头让我欲仙欲死 | 色偷偷色噜噜狠狠成人免费视频| 又大又粗又爽免费视频a片| 久久久久se色偷偷亚洲精品av| 成在人线av无码免费| 娇小白人女vs巨大黑迪克| 日韩午夜理论免费TV影院| 亚洲色大成网站www|