偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

新型編譯器助JavaScript搞定類(lèi)型難題

譯文
開(kāi)發(fā) 前端
JS++目前已經(jīng)發(fā)布早期預(yù)覽版本,其能夠編譯為JavaScript并繼承一切對(duì)JavaScript的支持能力,在編譯時(shí)中進(jìn)行錯(cuò)誤檢查使得JS++成為一種類(lèi)似于Java的語(yǔ)言。

憑借專(zhuān)利技術(shù),JS++專(zhuān)注于編譯時(shí)類(lèi)型檢查,但并不屬于開(kāi)源項(xiàng)目。軟件供應(yīng)商O(píng)nux公司意識(shí)到JavaScript中的類(lèi)型安全問(wèn)題,并由此開(kāi)發(fā)出一種名為JS++的新語(yǔ)言,即JavaScript++。它能夠在編譯時(shí)中檢查類(lèi)型,而不再立足于運(yùn)行時(shí)執(zhí)行檢查。

[[167453]]

Onux公司CEO兼JS++***Roger Poon表示,“Onux JS++編譯器將多種類(lèi)型統(tǒng)一為單一類(lèi)型,即統(tǒng)一外部類(lèi)型。通過(guò)提供完善的類(lèi)型系統(tǒng),各經(jīng)過(guò)聲明的類(lèi)型(例如字符串)將永遠(yuǎn)不會(huì)出現(xiàn)錯(cuò)誤,從而顯著提高應(yīng)用的開(kāi)發(fā)可靠性”。

Poon解釋稱(chēng),“JS++目前已經(jīng)發(fā)布早期預(yù)覽版本,其能夠編譯為JavaScript并繼承一切對(duì)JavaScript的支持能力,在編譯時(shí)中進(jìn)行錯(cuò)誤檢查使得JS++成為一種類(lèi)似于Java的語(yǔ)言”。

這項(xiàng)技術(shù)并非開(kāi)源,Poon表示該公司正在為其申請(qǐng)專(zhuān)利,這一防御手段主要是考慮到Facebook的Flow與谷歌的AtScript及SoundScript都在力爭(zhēng)解決同類(lèi)問(wèn)題。開(kāi)發(fā)者們無(wú)需刻意使用JS++,他指出。不過(guò)Onux公司的業(yè)務(wù)模式包括銷(xiāo)售支持服務(wù)以及針對(duì)特定用例提供附加庫(kù),例如圖表與圖形。標(biāo)準(zhǔn)庫(kù)以免費(fèi)形式發(fā)布。

Poon認(rèn)為JS++的閉源特性并不會(huì)嚇跑開(kāi)發(fā)者。事實(shí)上,他表示企業(yè)開(kāi)發(fā)者們樂(lè)于使用JS++,因?yàn)槠浣鉀Q了他們?nèi)粘9ぷ髦械囊淮笸袋c(diǎn)。“他們面對(duì)著數(shù)百萬(wàn)行JavaScript代碼,其中大部分屬于遺留代碼,”他表示。“而其中***的難題之一就是類(lèi)型檢查。”

JS++的競(jìng)爭(zhēng)對(duì)手為微軟的TypeScript,Poon表示后者的類(lèi)型系統(tǒng)“并不完善”。JS++符合ECMAScript 3,特定底層JavaScript的一套較早版本。Poon指出,大多數(shù)開(kāi)發(fā)者都在使用ES3或者ES5。

JavaScript開(kāi)發(fā)者與教育家Eric Elliott則對(duì)Onux公司的宣傳提出質(zhì)疑,他表示目前還沒(méi)有明確的證據(jù)表明完善的類(lèi)型系統(tǒng)能夠降低bug出現(xiàn)機(jī)率。“事實(shí)上,反倒有證據(jù)表明復(fù)雜的類(lèi)型系統(tǒng)有可能帶來(lái)更多bug,”他在最近的一篇文章中指出。“換言之,類(lèi)型正確性并不能保證程序的正確性。”Elliott個(gè)人更推崇測(cè)試驅(qū)動(dòng)型開(kāi)發(fā)機(jī)制。

Elliott表示,“我并沒(méi)用過(guò)JS++,但我沒(méi)有理由相信龐大的JavaScript社區(qū)會(huì)向其張開(kāi)懷抱。在此之前,很多項(xiàng)目都承諾為Web平臺(tái)帶來(lái)更出色的安全性,包括谷歌的SoundScript、谷歌的Dart語(yǔ)言、谷歌的Google Web Toolkit、微軟的TypeScript、Facebook的Flow以及我自己開(kāi)發(fā)的rtype項(xiàng)目等。” 

責(zé)任編輯:王雪燕 來(lái)源: 51CTO
相關(guān)推薦

2014-05-04 12:51:21

Javascript編譯器

2021-06-25 10:38:05

JavaScript編譯器前端開(kāi)發(fā)

2013-06-13 10:02:36

JavaScriptJavaScript編

2010-01-19 13:01:32

C++數(shù)據(jù)類(lèi)型

2025-02-05 08:38:37

2022-11-09 08:12:18

操作系統(tǒng)CPU編譯器

2010-01-18 10:34:21

C++編譯器

2010-01-21 09:11:38

C++編譯器

2017-03-20 18:01:55

編譯器匯編

2009-08-10 17:12:54

C#編譯器

2013-03-29 10:02:37

編譯器語(yǔ)言編譯開(kāi)發(fā)

2010-03-23 11:17:16

Python 動(dòng)態(tài)編譯

2010-10-20 13:43:37

C++編譯器

2019-08-06 08:20:07

編譯器工具開(kāi)發(fā)者

2013-12-30 11:21:31

Go編譯器

2010-02-02 17:08:26

Python靜態(tài)編譯器

2010-03-02 10:55:47

Linux SkyEy

2010-09-16 15:57:25

Java編譯器

2011-05-18 11:06:25

java編譯器

2022-03-28 10:25:27

前端文件編譯器
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)