不了熟的规范化

2021-03-16 17:10 jianzhan

原文详细地址: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.
互联网技术是由对外开放的规范构成的。这对互联网技术替代独享的运用服务平台是1个关键的要素。对外开放是是非非常有吸引住力的,也正由于这般互联网技术凭着更好的技术性操纵着别的的市场竞争对手。但是当根据规范的方式到来时,无疑自主创新会变得愈来愈艰难。結果是,访问器最基础的技术性停滞不前发展趋势了1段很长的時间。1些让大家喜悦的自主创新,如AJAX改革等,是1种在现有规范上的再挖掘的潜能。但是这类潜能早已几近匮乏。
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.
假如大家想再次往前走更远,大家务必调整规范。这是1项务必十分当心的事儿。规范的修定是1种暴力行为个人行为,好似外科手术1样。仅有在规范带来的益处远远高于它自身的消耗及缺陷时,规范才可以真实被应用。互联网技术并沒有预先的手机软件升級管理方法,这使得它变成了1个十分繁杂的自然环境,就例如IE5,1个十分十分古老的访问器,其客户市场份额却比Safari和Opera加起来还要更多。正由于这般,规范的更改将使开发设计者深陷1个十分艰难的自然环境,许多针对一些访问器的优势却将会变为别的访问器潜伏的不正确。开发设计者务必管理方法并减小这些区别,但这确是不可易的。另外,开发设计者未能更好的融入应用新规范也提升了她们工作中的难度。
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.
我感觉,把根据规范的系统软件和其实不10分规范的系统软件放在1起较为并造成创新是是非非常有利的。JavaScript是1个十分有期待的語言,但它的本身也十分不了熟,它被过快的不承担责任地扔入了访问器销售市场,又被不承担责任地扔入了规范的圈子里。以便防止潜伏的版权纠纷案件,这项规范被称为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在怎样升级的难题上,却不可以做到1致。因此她们分为了两个小组,各自完成各有的总体目标。这样的身心健康的市场竞争是是非非常有协助的,我也坚信市场竞争会改进两组各有的总体目标。 可是,这也是个不太好的事儿,由于沒有1个规范机构会接纳1项规范有着两个不一样的建议。假如不可以达到1致,这两个建议都可能不成功。
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 the language.
在其中1项建议被称为ES4。这个名字的应用很悲剧运,由于它明显的暗示了它1定会是ECMAScript的第4版,但是它其实不1定会是。该新项目针对新观念新特点十分的对外开放,并听取意见了很多观点,虽然这些观念并沒有根据这门語言系统软件开展充足的剖析。結果,很多繁杂的特点被选用,并最后提高了全部語言的繁杂性。
ES4 was so large and so innovative that there were doubts about whether it could be successfully specified and implemented. More worrisome, there was no experience with the language itself. Would the interaction of features cause unintended problems as we saw in ES1 and ES3? The schedule for ES4 required that the standard be put in place and adopted by the browser makers before that question could be answered. This is a problem because once a bug is inserted into a standard, it can be extremely difficult to remove it. All of the features, considered individually, were attractive. But taken as a whole, the language was a mess.
ES4十分的巨大,也引进了很多新观念,这禁不住让人们担忧它会不容易被取得成功的接纳和应用。更让人躁动不安的是,针对語言的自身,并沒有任何应用工作经验。那些极富吸引住力的新特点会不容易如ES1和ES31样造成很多潜伏的难题?ES4的制订分配规定这项规范务必被访问器开发设计者接纳并植入访问器后才可以回应刚刚的难题。这会是1个很大的难题,当1个小bug不正确的添加了规范,到情况下要想除去掉它就会十分的艰难了。独立考虑到ES4全部的新特点,全是十分有吸引住力的。可是所有放到1起,語言十分的错乱。
On the other side was a proposal called ES3.1. Its name indicated a less ambitious proposal, being a smaller increment over the current Third Edition. This project was intended to repair as many of the problems with the language as possible while minimizing the pain of disruption. New syntax was considered only when it was already implemented and proven in at least three of the four major browsers. Feature selection tended to favor necessary improvements over desirable improvements.
另外一项建议被称为ES3.1。它的姓名暗示它相比于如今的ES3仅有较少的转型。这个新项目的总体目标是修补語言中存在的众多不正确。新的语法仅有在最少3至4个流行访问器植入并检测过以后才会被考虑到添加。她们更多的挑选务必的特点,而并不是可有着的特点。
ES3.1 was more minimal in approach. The set of feature interactions was much smaller and much easier to reason about. ES3.1 is likely to complete its specification and will be the candidate for the Fourth Edition.
ES3.1更非常容易接纳。新特点的吸引住力会较小,可是也更非常容易完成。ES3.1也将会进行它的文本文档,从而变成ES真实第4版的候选。
ES4 had a large head start (by as much as seven years by some estimates), but was unable to meet its deadlines. Ultimately, the project fell apart when some of the key members left.
ES4的制订起步很早(估算最少7年以前),但是大家看不见它究竟何时能完毕。最后,因为关键组员的离开,这项工程项目被抛锚。
Some of the features that were in ES4 were reasonable, so a new project, called Harmony, is starting which will look at adapting the best of ES4 on top of ES3.1. The success of this project will depend on the ability of TC39 to do a better job of managing the tradeoffs between innovation and stability, and adopting a discipline for managing complexity. Simplicity should be highly valued in a standard. Simplicity cannot be added. Instead, complexity must be removed.
如今,由ES4引进的1些有效的新特点,再次变成了1项最新项目,被称为Harmony。这个新项目的取得成功与否取决于TC39衡量自主创新与平稳2者的工作能力,和对繁杂度的管理方法上。在某种水平上,简洁应遭受充足的高度重视,而不可被矫饰。因此,1些冗余务必被剔除。
It turns out that standard bodies are not good places to innovate. That’s what laboratories and startups are for. Standards must be drafted by consensus. Standards must be free of controversy. If a feature is too murky to produce a consensus, then it should not be a candidate for standardization. It is for a good reason that “design by committee” is a pejorative. Standards bodies should not be in the business of design. They should stick to careful specification, which is important and difficult work.
如今来看规范的行为主体其实不是1个自主创新的好地区。这也更是试验室存在的目地。规范务必历经1致的商议,也务必有充足的争辩。假如1个特点很难达到1致,那末它应 该从规范草案中除去。规范的行为主体不可以在有商业服务目地的状况下设计方案。它们务必坚持不懈慎重的设计方案,这另外是1个非常艰难的工作中。
I see similar stories in HTML5. The early work of WHATWG in documenting the undocumented behavior of HTML was brilliant. It went off the rails when people started to just make new stuff up. There is way too much controversy in HTML5. I would like to see a complete reset with a stronger set of design rules. Things can be much worse than the way things currently are. Having smart people with good intentions is necessary but not sufficient for making good standards.
我也在HTML5里边看见了很相近的状况。WHATWG的初期针对文本文档化HTML中沒有文本文档的特点的工作中是是非非常棒的。但是当人们刚开始只关心造就新物品时,它们刚开始偏移路轨。在HTML5中存在太多的争议。事儿将会会比如今存在的更不尽人意。或许,让1些有目地的聪慧人制订好的规范是务必却又不足的。
拓宽阅读文章
http://almaer.com/blog/javascript⑵-a-perl⑹-disaster-that-matters-so-much-more-but-wait
http://ajaxian.com/archives/ecmascript-harmony-coming-together-after-oslo
http://ejohn.org/blog/ecmascript-harmony/