成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術(shù)文章
文章詳情頁

JavaScript和JSON創(chuàng)建者對(duì)JavaScript未來的展望

瀏覽:171日期:2023-11-10 11:42:51

近期在倫敦召開的 FullStack大會(huì) 上, Brendan Eich 和 Douglas Crockford 分別做演講探討了JavaScript的未來。Eich是JavaScript的創(chuàng)建者;Crockford是JSON的創(chuàng)建者,也是《JavaScript語言精粹》(“JavaScript: The Good Parts”)一書的作者。Eich的大會(huì)演講主要聚焦于一些需迭代改進(jìn)的語言特性。Crockford引導(dǎo)聽眾聚焦于JavaScript軟件工程的下一步發(fā)展,他稱之為一種全球分布的、安全的異步編程模式。

Crockford指出,包括JavaScript在內(nèi)的所有編程語言目前都停滯于舊架構(gòu)中,即單機(jī)的單地址空間中,這造成了一些不必要的麻煩。但是由于JavaScript在函數(shù)和對(duì)象上實(shí)現(xiàn)的一些有意義的探索,Crockford相信相比其它語言,JavaScript要更有益于推進(jìn)架構(gòu)的轉(zhuǎn)變。

Eich提及在創(chuàng)建JavaScript中的最大遺憾,就是在語言初次發(fā)布后不久就立刻對(duì)用戶有求必應(yīng),而不是考慮如何更好地解決用戶的問題。例如,12==’12’是使用相等運(yùn)算符“==”做強(qiáng)制類型轉(zhuǎn)換,以便于處理通過HTTP將數(shù)據(jù)推送到服務(wù)器。

Crockford指出,JavaScript語言面臨著一個(gè)問題,它可能過分關(guān)注“整形手術(shù)缺陷”的修修補(bǔ)補(bǔ),而不是清楚地指明未來的改進(jìn)方向。

與十年前相比,我認(rèn)為語言中好的部分更少了,但是這些部分也做得更好了。

Eich介紹了多年來JavaScript語言的改進(jìn)情況,以及其中一些煥發(fā)了新活力的舊特性。例如,盡管E4X從未被JavaScript接受,但JSX,即“剔除了不好的XML部分的E4X”,卻深受React用戶的喜愛。

在本次演講中,Eich重點(diǎn)強(qiáng)調(diào)了asm和WebAssembly的價(jià)值。asm.js源自JavaScript靜態(tài)類型子集,實(shí)行以接近本機(jī)速度運(yùn)行源代碼。達(dá)到如此的性能改進(jìn),是因?yàn)閍sm支持從即刻編譯(JIT)切換到預(yù)先編譯(AOT),直接從抽象語法樹(AST)轉(zhuǎn)換為機(jī)器代碼生成。

WebAssembly是一種加載更快的、采用更廣泛的asm.js版本。盡管WebAssembly仍然是同一JavaScript虛擬機(jī)的組成部分,但是它用單獨(dú)的進(jìn)程運(yùn)行,因此它可以具有比JavaScript更具表現(xiàn)力的語法。

Eich特別介紹了一些令他非常興奮的特性,這些特性最早可于明年出現(xiàn)在JavaScript中。包括:

TC39 BigInt:一種新的值類型,用于處理任意精度的整數(shù),bigness提供對(duì)TypeArrays的支持。 動(dòng)態(tài)import():默認(rèn)情況下,ES模塊是靜態(tài)導(dǎo)入的。動(dòng)態(tài)導(dǎo)入還支持預(yù)取(prefetching)。 Array.prototype.flat/flatMap:實(shí)現(xiàn)任意數(shù)組的展平,它是實(shí)現(xiàn)展平和smooshgate的解決方案。 更多的解析操作:用于任意對(duì)象和數(shù)組。 類中的私有方法和訪問器:在Eich看來,符號(hào)前綴“#”稍具爭議,不應(yīng)再使用。 異步迭代:用于await語法。 正則表達(dá)式上的一些改進(jìn)。

更多建議及細(xì)節(jié)內(nèi)容,參見 TC39建議的完整列表 。

Crockford在演講中花了一些時(shí)間,質(zhì)疑了聽眾的一些深層假設(shè),并提出這些假設(shè)是如何影響大家的進(jìn)步的。例如,計(jì)數(shù)是否應(yīng)采用從“0”開始,還是從“1”開始?Crockford解釋了為什么他認(rèn)為一切都應(yīng)該從“0”開始。

Crockford指出,缺乏正確的尾調(diào)用和尾調(diào)用優(yōu)化( tail call optimization )his目前為止在ES2015實(shí)現(xiàn)中的最令人失望之處。當(dāng)前只有Safari實(shí)現(xiàn)了該部分規(guī)范。據(jù)Crockford介紹,尾調(diào)用是ES2015中添加的最重要特性,它有助于支持作為迭代替代功能的尾遞歸(tail recursion),以及后續(xù)傳遞(continuation passing)。

在Crockford看來,純函數(shù)(pure functions)是語言未來發(fā)展中至關(guān)重要的特性。任何會(huì)影響純函數(shù)的特性,都不應(yīng)考慮在語言中采用。

目前JavaScript中也存在著不少Crockford不喜歡的特性,例如async/await特性。該特性有礙于開發(fā)人員對(duì)異步編程的理解,會(huì)使異步編程看起來就像是同步。

Crockford解釋了他對(duì)簡單性的看法。“標(biāo)準(zhǔn)越簡單,需要達(dá)成一致之處也就越少,就越有可能實(shí)現(xiàn)互操作性”。他以JSON為例做了解釋。JSON作k為一種語法,它并不涉及行為,易于理解和使用。JSON的全部語法甚至可在一張名片背面放下。

Crockford正致力于實(shí)現(xiàn)一種稱為“neo”的新語言和Transpiler(源到源編譯器)。它以一種新語言的形式實(shí)現(xiàn)Crockford認(rèn)可的JavaScript特性,并源到源編譯為定義良好JavaScript程序。Crockford有望于近期推出《JavaScript工作機(jī)制》(“How JavaScript Works.”)一書,介紹其中的技術(shù)細(xì)節(jié)。

在演講的問答部分,Eich被問及了 二進(jìn)制抽象語法樹(binary-ast)提案 的情況。該提案介于傳統(tǒng)JavaScript和WebAssembly之間,為所有的JavaScript提供了二進(jìn)制語法樹。

Eich認(rèn)為,binary-ast是一種潛在的實(shí)效(pragmatic)方法,但其優(yōu)點(diǎn)有待通過初始實(shí)施及后續(xù)性能指標(biāo)驗(yàn)證。Mozilla正在致力于初步實(shí)現(xiàn)。其潛在的風(fēng)險(xiǎn)在于它可成為另一種安全攻擊向量。此外,它會(huì)鼓勵(lì)開發(fā)人員編寫更大型的JavaScript代碼庫,而不是依靠工具和規(guī)則來優(yōu)化代碼庫。

當(dāng)被問及TypeScript等類型系統(tǒng)時(shí),Eich認(rèn)為動(dòng)態(tài)編程有其便利性。不會(huì)對(duì)編程產(chǎn)生妨礙的類型形態(tài),無疑是一種好的類型系統(tǒng)。Eich指出,“人們習(xí)慣于使用不需付出任何代價(jià)的類型系統(tǒng)。”

TypeScript非常出色,它是JS的一個(gè)嚴(yán)格超集。每個(gè)JS程序也是一個(gè)TS程序。Anders Hejlsberg是首屈一指的。

演講中,Crockford還被問及了一個(gè)關(guān)于TypeScript的負(fù)面問題:“它并沒有解決我所遇到的問題”。出現(xiàn)這一誤解的原因,在于TypeScript的主要優(yōu)點(diǎn)是幫助定義接口。Crockford曾認(rèn)定,“事情間的接口通常是產(chǎn)生錯(cuò)誤之處”,而TypeScript有助于防止出現(xiàn)此類錯(cuò)誤。

在被問及React之類特性是否可以標(biāo)準(zhǔn)化時(shí),Eich介紹了Dojo和Prototype等早期的軟件庫是如何將其概念引入到更高版本的JavaScript中的。進(jìn)而指明,“我們的工作并非去標(biāo)準(zhǔn)化React等軟件庫”,而是努力實(shí)現(xiàn)將基本原語從軟件庫中提升到核心語言中。Eich指出,過早做標(biāo)準(zhǔn)化會(huì)導(dǎo)致問題,尤其是對(duì)于類型系統(tǒng)等尚待時(shí)日的解決方案。

在被問及對(duì)基于RxJS Observables的Observables提案的看法時(shí),Eich指出,該規(guī)范目前停滯不前,要在JavaScript語言中構(gòu)建所需特性是一個(gè)挑戰(zhàn),他也不確定是否應(yīng)該將Observables添加到語言中。他并未提及的是, 用于流的WHATWG規(guī)范 是Observables提案的一個(gè)超集。或許正是這兩個(gè)提案之間的競爭,阻礙了Observables提案的推進(jìn)。

最后在被問及對(duì)機(jī)器學(xué)習(xí)的看法時(shí),Eich指出,盡管深度學(xué)習(xí)非常有用,但是該技術(shù)并沒有給出任何因果關(guān)系。目前的工作,只是一些高級(jí)形式的曲線擬合算法。

會(huì)議演講視頻免費(fèi)提供,但需要注冊(cè)。注冊(cè)是開放的。

Eich的演講,“下一代JavaScript”( JavaScript: The Next Generation ); Crockford的演講,“JavaScript工作方式先睹為快”( How JavaScript Works: A Preview )。

查看英文原文: Eich and Crockford on the Future of JavaScript: Insight from the Creators of JavaScript and JSON

來自:http://www.infoq.com/cn/news/2018/08/eich-crockford-js-future

標(biāo)簽: JavaScript
相關(guān)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
国产日本欧洲亚洲| 色综合天天综合网天天看片 | 91视频在线看| 日韩一区二区三区精品视频| 国产一区二区福利视频| 欧美日韩久久一区二区| 奇米777欧美一区二区| 久久精品麻豆| 爽好多水快深点欧美视频| 国产欧美日韩亚洲一区二区三区| 国产精品久久一卡二卡| 欧美 日韩 国产 一区| 久久久五月婷婷| 99视频精品免费视频| 日韩亚洲欧美在线| 成a人片国产精品| 久久久国产午夜精品| 欧美日韩99| 国产精品久久久久aaaa樱花| 狠狠色综合网站久久久久久久| 国产精品国产自产拍高清av| 亚洲第一伊人| 一区二区三区四区av| 亚洲一区三区电影在线观看| 午夜精品123| 色综合久久久久久久久| 久久精品国产99久久6| 欧美亚洲另类激情小说| 国产一区二区在线看| 欧美v亚洲v综合ⅴ国产v| 99精品久久只有精品| 国产区在线观看成人精品| 欧美日本中文| 亚洲黄色av一区| 久久久久久亚洲精品杨幂换脸 | 91久久极品少妇xxxxⅹ软件| 亚洲精品免费在线播放| 久久动漫亚洲| 精品一区中文字幕| 精品国产一区二区精华| 欧美在线亚洲综合一区| 国产欧美精品一区| 国内综合精品午夜久久资源| 一区二区三区鲁丝不卡| 久久激情久久| 精久久久久久久久久久| 日韩精品中文字幕在线一区| 99久久久国产精品| 国产精品久久久久久久浪潮网站 | 北条麻妃国产九九精品视频| 中文成人综合网| 亚洲高清视频一区| 丝袜美腿亚洲综合| 6080午夜不卡| 欧美人与禽猛交乱配| 亚洲素人一区二区| 久久久999| 国产精品996| 色偷偷一区二区三区| 国产精品538一区二区在线| 国产色一区二区| 国产精品久久久久久久久久直播 | 91丝袜呻吟高潮美腿白嫩在线观看| 国产精品久久久久久久浪潮网站 | 精品国产百合女同互慰| 亚洲高清资源| 蓝色福利精品导航| 久久久久久久国产精品影院| 亚洲欧美卡通另类91av| 国产一区啦啦啦在线观看| 久久久久久久久久美女| 国产美女诱惑一区二区| 国产精品白丝av| 国产精品久久免费看| 噜噜噜91成人网| 成人性视频网站| 亚洲美女免费在线| 欧美网站大全在线观看| 91蜜桃在线免费视频| 97精品久久久久中文字幕| 亚洲成在线观看| 欧美一区二区三区在线电影 | 91香蕉视频mp4| 亚洲成人免费影院| 日韩亚洲电影在线| 国产伦精品一区二区三区视频黑人| 国产一本一道久久香蕉| 中文字幕一区二区三区在线播放| 欧美成人午夜电影| 国产精品亚洲产品| 国产**成人网毛片九色| 亚洲天堂精品视频| 欧美福利电影网| 亚洲国产91| 国产成人在线电影| 一区二区三区美女| 精品国产一区二区国模嫣然| 久久精品国语| 午夜久久黄色| 激情都市一区二区| 亚洲欧美日韩中文字幕一区二区三区| 7777精品久久久大香线蕉| 国产亚洲毛片在线| 色综合天天综合在线视频| 老司机精品视频一区二区三区| 亚洲国产高清aⅴ视频| 欧美男生操女生| 国产精品最新自拍| 欧美大片专区| 国产91露脸合集magnet| 亚洲国产精品嫩草影院| 久久综合国产精品| 欧美亚洲一区二区三区四区| 亚洲区欧美区| 97久久精品人人做人人爽| 麻豆一区二区三区| 亚洲激情第一区| 久久久久久久久久电影| 欧美喷水一区二区| 久久精品导航| 狠狠爱成人网| 高清在线成人网| 蜜桃一区二区三区在线观看| 亚洲人吸女人奶水| 久久精品人人做| 9191成人精品久久| 久久免费99精品久久久久久| 国精品一区二区三区| 成人动漫精品一区二区| 久久99国产精品免费网站| 亚洲国产欧美一区二区三区丁香婷| 国产区在线观看成人精品| 亚洲性感激情| 成人在线一区二区三区| 久久不见久久见免费视频1| 一区二区国产视频| 国产精品网站一区| 精品国产免费人成在线观看| 欧美日韩一级二级三级| 久久黄色网页| 亚洲一区二区三区免费观看| 亚洲高清毛片| 欧美日韩视频在线一区二区观看视频 | 色综合天天综合网天天狠天天| 国产一区二区久久| 男女性色大片免费观看一区二区| 亚洲特黄一级片| 欧美激情资源网| 欧美精品一区二区三| 欧美一区二区播放| 欧美精品高清视频| 欧美日韩和欧美的一区二区| 久久久久欧美精品| 久久免费国产| 久久亚洲一区二区| 国产精品亚洲产品| 国产精品免费在线| 99热精品在线观看| 亚洲免费大片| 日韩一区二区免费看| 亚洲精品在线二区| 亚洲精品偷拍| 亚洲区第一页| 精品9999| 1000部精品久久久久久久久| 亚洲高清免费| 亚洲麻豆一区| 亚洲综合社区| 久久久久久穴| 91久久精品一区二区三| 欧美三级日韩在线| 欧美肥大bbwbbw高潮| 欧美猛男超大videosgay| 欧美日韩亚洲高清一区二区| 精品视频色一区| 欧美日韩一级视频| 欧美精品乱人伦久久久久久| 欧美久久久一区| 日韩欧美一级二级三级| 久久久久综合网| 欧美激情综合在线| 中文字幕亚洲一区二区va在线| 中文字幕亚洲区| 亚洲综合视频在线观看| 亚洲成人动漫精品| 秋霞影院一区二区| 国产精品综合久久| av在线不卡免费看| 国内精品**久久毛片app| 亚洲美女视频在线免费观看| 国产精品日韩一区二区| 久久免费国产| 欧美日韩1234| 久久久久久久久久久电影| 国产精品高潮久久久久无| 亚洲精品乱码久久久久久| 香蕉成人伊视频在线观看| 久久国产日韩欧美精品| 粉嫩av亚洲一区二区图片| 欧美成人一品|