技术开发 频道

微软JavaScript发力 抗衡Google Dart

        【IT168 评论】JavaScript是一门动态语言,与传统的先声明变量后使用的静态语言C或Java相比,一个直接的好处是无需提前声明变量,便可用。变量的实质是存储信息,比如数字或者文本。JavaScript作为动态语言,其特点是使用非常灵活,但是以牺牲性能为代价的。因为浏览器在解释执行JavaScript的同时,浏览器元素JIT编译器能将程序员编写的JavaScript语言直接转化成计算机所能识别的指令,需要花点时间去判断变量的各种可能类型。Dart的目标是将JavaScript的动态声明特性回归为静态先声明后使用的方式,在这一点上,已经与C或Java语言就没有多大差异了。

  微软力挺JavaScript 伸出橄榄枝

  微软不仅在情感上声援JavaScript,并且付诸了很多行动,提出若干建议,包括对JavaScript语言本身的改进,浏览器对JavaScript的增强支持。具体如下:

  1、JavaScript支持数值运算符、处理文本函数、更加方便处理货币与日期格式。

  2、微软在HTML5实验室提供了原型化软件来方便人们体验这项创新技术。•

  在HTML5与Dart的大背景下,微软对JavaScript也提出了与时俱进的殷切希望,微软JavaScript团队人员表示,“随着Web网站向Web应用的转型,会有越来越多的Web开发人在用HTML5来创建新的体验,在不影响它的简单性、灵活性、以及性能的前提下,我们觉得JavaScript需要经历一种转型,”在没有直接提及Dart编程语言的情况下,他们呼吁的是一种演变而非革命:“整个Web开发社区需要一种更为广泛的方法来提高成功的几率。”

  Google Chrome杀手锏 增量垃圾回收技术

  即使真的有那么一天,Google的Dart能够脱颖而出,基于JavaScript的Web应用还会是无处不在。对于Google来说,要想取代JavaScript,提高运行速度才是王道。Chrome浏览器也一直致力于改善JavaScript性能。

  这些年来,Google Chrome与IE、Safari、Opera、以及Firefox等各大浏览器厮杀,夺取了浏览器市场第二的宝座,实属不易。但现在它肩负着更大的使命,将矛头直指JavaScript性能的改进。为此,Google不遗余力推出了适用于开发人员的Chrome版本,为了进一步提高软件的反应性能,Google还在V8 JavaScript引擎中新增了一个特征Incremental Garbage Collection。Google表示,“在提高性能和降低内存使用率的同时,V8新增的GC能够动态减少因内存回收而产生的暂停时间,并且提高了Web交互性能。”

  Incremental Garbage Collection的原理是Garbage Collection能够定期释放掉程序本该释放的内存空间,这是一项非常重要的技术。但是这个过程可能会导致电脑死机。Incremental Garbage Collection能够将这个过程剪切成不同的步骤,从而减少暂停时间。据测试人员表示,“Google使用V8基准来测试JavaScript性能,并且证实了它的成功。在我们的测试中,要呈现一个完整的框架,最大的时间值从原来暂停的272毫秒降低到50毫秒。”。

  而更为难能可贵的是,相比于一个更为庞大的JavaScript项目,要提高Google的交互性性能可谓是难上加难。因为这需要释放更大的内存空间。Chrome却力压群敌,做到了这一点。

  另一大浏览器厂商Mozilla同样致力于Incremental Garbage Collection的工作,“这个技术很难实现,我们不知道会有多少艰难险阻,但我们会朝着目标努力。“

  参考英文原文:

  http://news.cnet.com/8301-30685_3-57330431-264/microsoft-shoots-down-googles-dart-language/

0
相关文章