- From: Larry Masinter <masinter@adobe.com>
- Date: Tue, 17 Mar 2009 18:02:19 -0700
- To: Anne van Kesteren <annevk@opera.com>, "www-tag@w3.org" <www-tag@w3.org>
Anne, Every example of a language extension contains some means by which the appearance of a new feature is written by a writer, and read and interpreted by a reader. Each language has a way of adding extensions. You can add extensions to JavaScript and most programming languages by fiddling with the syntax and punctuation or adding new keywords or by adding things that look like procedure or function calls or attribute values or wahtever, but these are still extensions. There may not be any other kind of "version" indicator formally -- you might not need someone to tell you that "Yes, this program is really written in FORTRAN 7.9", because you can tell just by looking whether it uses any FORTRAN 7.9 features, but there is SOME way in which you added those features other than telepathy. I’m trying to list the ways in which new features are added to languages; in HTML this has happened usually by adding new elements, or adding comments, or adding <Script> elements with new script types or Javascript calls to new APIs. Perhaps there are more ways in which HTML is or can be extended. I just want to be clear about what the options are and how they are being analyzed, what the considerations are. You raise some issues around deployment and backward compatibility that I think were at least alluded to on my list. > (I tend to think that languages that are incrementally improved upon by > multiple parties and are widely deployed are much better off without > versioning. Then again, everyone has different ideas as to what versioning > means. Some feel it's just a hint for the validator. Some think user > agents need different processing models. Etc.) Clearly when you have a single speaker and multiple recipients, and a single speech act, then the single speaker needs to indicate the language more clearly than in cases where the speaker adapts the content of the message to the listener. I'd like to see if we could move the conversation from "I thend to think X" vs "I tend to think Y" to Here are 5 choices: (A) (B) (C) (D) (E) Here are 7 use cases: (1) (2) (3) (4) (5) (6) (7) and evaluating the choices against the use cases in a consistent way. Then, we can make a more informed decision of which choice we're making by evaluating how important the use cases are and what the impact is. "everyone has different ideas as to what versioning means" I've found discussions about "meaning" to be frustrating when carried out without reference to the context of use. That's why I try to distinguish between the indicator (element, attribute, version designation, etc.) as uttered by a speaker, vs the behavior of a recipient when reading and trying to process the content that contains this sign. Larry -- http://larry.masinter.net
Received on Wednesday, 18 March 2009 01:03:08 UTC