中国领先的IT技术网站
|
|

新型编译器助JavaScript搞定类型难题

JS++目前已经发布早期预览版本,其能够编译为JavaScript并继承一切对JavaScript的支持能力,在编译时中进行错误检查使得JS++成为一种类似于Java的语言。

作者:核子可乐译来源:51CTO|2016-06-15 09:28

沙龙活动 | 去哪儿、陌陌、ThoughtWorks在自动化运维中的实践!10.28不见不散!


凭借专利技术,JS++专注于编译时类型检查,但并不属于开源项目。软件供应商Onux公司意识到JavaScript中的类型安全问题,并由此开发出一种名为JS++的新语言,即JavaScript++。它能够在编译时中检查类型,而不再立足于运行时执行检查。

Onux公司CEO兼JS++缔造者Roger Poon表示,“Onux JS++编译器将多种类型统一为单一类型,即统一外部类型。通过提供完善的类型系统,各经过声明的类型(例如字符串)将永远不会出现错误,从而显著提高应用的开发可靠性”。

Poon解释称,“JS++目前已经发布早期预览版本,其能够编译为JavaScript并继承一切对JavaScript的支持能力,在编译时中进行错误检查使得JS++成为一种类似于Java的语言”。

这项技术并非开源,Poon表示该公司正在为其申请专利,这一防御手段主要是考虑到Facebook的Flow与谷歌的AtScript及SoundScript都在力争解决同类问题。开发者们无需刻意使用JS++,他指出。不过Onux公司的业务模式包括销售支持服务以及针对特定用例提供附加库,例如图表与图形。标准库以免费形式发布。

Poon认为JS++的闭源特性并不会吓跑开发者。事实上,他表示企业开发者们乐于使用JS++,因为其解决了他们日常工作中的一大痛点。“他们面对着数百万行JavaScript代码,其中大部分属于遗留代码,”他表示。“而其中最大的难题之一就是类型检查。”

JS++的竞争对手为微软的TypeScript,Poon表示后者的类型系统“并不完善”。JS++符合ECMAScript 3,特定底层JavaScript的一套较早版本。Poon指出,大多数开发者都在使用ES3或者ES5。

JavaScript开发者与教育家Eric Elliott则对Onux公司的宣传提出质疑,他表示目前还没有明确的证据表明完善的类型系统能够降低bug出现机率。“事实上,反倒有证据表明复杂的类型系统有可能带来更多bug,”他在最近的一篇文章中指出。“换言之,类型正确性并不能保证程序的正确性。”Elliott个人更推崇测试驱动型开发机制。

Elliott表示,“我并没用过JS++,但我没有理由相信庞大的JavaScript社区会向其张开怀抱。在此之前,很多项目都承诺为Web平台带来更出色的安全性,包括谷歌的SoundScript、谷歌的Dart语言、谷歌的Google Web Toolkit、微软的TypeScript、Facebook的Flow以及我自己开发的rtype项目等。”

【编辑推荐】

  1. 2016 年关于JavaScript的技术栈展望
  2. 为什么说JavaScript中的DOM操作很慢
  3. 在JavaScript SDK里使用SoundCloud API
  4. 10个优化代码的CSS和JavaScript工具
  5. JavaScript发展路线图:体积更小巧更新更频繁
  6. JavaScript内存泄露的4种方式及如何避免
【责任编辑:wangxueyan TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

Web服务安全

Web服务技术是最近几年迅速兴起的一种应用集成技术,而安全问题是影响该技术广泛应用的一个关键因素。这个问题已成为最近几年来国内外研究...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊
× Python最火的编程语言