日期:2014-03-10  浏览次数:21267 次

网页制造aiyiweb文章简介:不成熟的标准化.

原文地址:http://yuiblog.com/blog/2008/08/14/premature-standardization/

The web is made of open standards. This was a significant factor in the web’s displacement of proprietary application platforms. Openness is hugely attractive, so much so that the web dominates over competitors with better technologies. The difficult tradeoff that comes with a standards-based approach is that it is difficult to innovate. As a result, the basic technologies of the browser have been stalled for a decade. What innovation we’ve enjoyed, such as the Ajax revolution, has come by mining all of the latent, accidental potential of the existing standards. That potential has been used up.

互联网是由开放的标准组成的。这对互联网代替私有的使用平台是一个重要的要素。开放是非常有吸引力的,也正由于如此互联网凭仗更好的技术控制着其他的竞争对手。然而当基于标准的方法来临时,无疑创新会变得越来越困难。结果是,浏览器最基本的技术停滞发展了一段很长的时间。一些让我们欣喜的创新,如AJAX反动等,是一种在现有标准上的再发掘的潜能。然而这种潜能曾经几近干涸。

If we are to go forward, we must repair the standards. This is something that must be done with great care. A revision to a standard is an act of violence, just like any surgical procedure. It should only be undertaken when the likely benefit far exceeds the cost and the pain and the risk. The web is particularly troublesome because it did not anticipate the management of software updates, which is why IE5, an ancient browser, still has more users than Safari and Opera combined. Changes to the standard can put developers in a very difficult position because the benefits to users of some browsers become the seeds of failure for the users of others. Developers must manage this gulf, and it is not easy. Developers are not well served by new standards that make their jobs even harder.

如果我们想继续往前走更远,我们必须修正标准。这是一项必须非常小心的事情。标准的修订是一种暴力行为,好像外科手术一样。只要在标准带来的好处远远高于它本身的耗费及缺点时,标准才能真正被使用。互联网并没有事后的软件升级管理,这使得它成为了一个非常复杂的环境,就比如IE5,一个非常非常陈旧的浏览器,其用户份额却比Safari和Opera加起来还要更多。正由于如此,标准的改变将使开发者堕入一个非常困难的环境,很多对于某些浏览器的优点却可能变成其他浏览器潜在的错误。开发者必须管理并减小这些差别,但这却是不容易的。同时,开发者未能更好的顺应使用新标准也添加了他们任务的难度。

I think it is instructive to look at two approaches to managing innovation within a standards based system, one that I view as a success, and the other not so much. JavaScript was a promising but half-baked language that was irresponsibly rushed to market and then irresponsibly cast into a standard. That standard is called ECMAScript to avoid a trademark dispute. That standard was last revised in 1999.

我觉得,把基于标准的系统和并不十分标准的系统放在一同比较并产生改造是非常无益的。JavaScript是一个非常有希望的言语,但它的本身也非常不成熟,它被过快的不担任任地扔入了浏览器市场,又被不担任任地扔入了标准的圈子里。为了避免潜在的版权纠纷,这项标准被称为ECMAScript。它最后更新的时间是1999年。

It is clear that the language needs to be updated, but TC39 (the committee that is responsible for drafting a new standard) could not reach consensus on how to do it, so it split into two groups, each producing its own proposal. This was a good thing in that competition is healthy, and I believe that competition inspired improvements to both proposals. This was also a bad thing because no standards organization can adopt two proposal for the same standard. Without consensus, both proposals must fail.

非常不言而喻的,这门言语需求更新升级了。但是TC39在如何更新的问题上,却不能达到分歧。所以他们分成了两个小组,分别实现各自的目标。这样的健康的竞争是非常有协助的,我也置信竞争会改善两组各自的目标。 但是,这也是个不好的事情,由于没有一个标准组织会接受一项标准拥有两个不同的提议。如果不能达成分歧,这两个提议都将会失败。

On one side there was the proposal called ES4. It was unfortunate that it adopted that name because it strongly suggested that it was destined to be the Fourth Edition of ECMAScript, a fate that was not certain. The project was very open to new ideas and features, adopting a porkbarrel attitude that was almost Congressional in its expansiveness. Lots of good ideas were included without an adequate analysis of the language as a whole system. As a result, many overlapping features were adopted which would have significantly increased the complexity of th