- From: Ian Hickson <ian@hixie.ch>
- Date: Mon, 27 Apr 2009 07:06:13 +0000 (UTC)
- To: Larry Masinter <masinter@adobe.com>
- Cc: "www-tag@w3.org WG" <www-tag@w3.org>
On Sat, 25 Apr 2009, Larry Masinter wrote: > > I'm trying to lay out some of the general reasons for "why languages > evolve and why we need versions" with the specifics for HTML. There's no doubt that language do and often should evolve. It's also demonstrably the case that languages can and have been evolved without changes that require implementations to implement forks to consume content from different versions of the language in different ways. On the Web, for example, URIs have evolved that way, and with some unnecessary exceptions, so have CSS, HTML, and the DOM APIs. In fact, in the case of CSS and HTML, the only versionning has been quirks vs standards mode, a versioning that wasn't sanctioned by the specifications contemporary to its introduction, and which would have been unnecessary had the deviations from the original design required by deployed content been codified as standard, as we have been doing for the past few years with CSS 2.1 and HTML5. Forking the language makes implementations orders of magnitude more complex. Watching the Internet Explorer engineers' pained expressions when one discusses the implications of their decision to ship multiple versions of their rendering engine makes this abundantly clear. It also makes the language less suitable for constrained devices (instead of one language to support, one effectively ends up with multiple languages to support), harder to test (instead of testing one language implementation, one effectively ends up testing multiple implementations, as well as their interactions in edge cases), and harder to document (instead of just specifying the weird behaviours that end up de-facto part of the language due to wide deployment of implementation bugs, one has to also specify the other behaviours expected in each version). Thus my belief that in general, language designers should strive to make their languages versionless at the syntax level. -- Ian Hickson U+1047E )\._.,--....,'``. fL http://ln.hixie.ch/ U+263A /, _.. \ _\ ;`._ ,. Things that are impossible just take longer. `._.-(,_..'--(,_..'`-.;.'
Received on Monday, 27 April 2009 07:06:52 UTC