Will there be a suggested file suffix for es4?
There are already variants of ECMA-262 languages that have suffixes
(.js, .as most conspicuous). Let a thousand suffixes bloom? I hope
not, and we finally have standard MIME types (www.ietf.org/rfc
rfc4329.txt). Some insist on using .es, but .es is not likely to
become popular. ECMAScript was always an unwanted trade name that
sounds like a skin disease.
I predict .js will continue to be used, and content negotiation will
not depend on suffix or even MIME type. That is, tools will have to
know what versions they're dealing with, and servers will have to
know what version user agents support. This is the situation with
servers on the web already; it has been that way for 12 years. The
Accept: header is failure, it does not scale in bandwidth or over
time and (web) space; it does not let the server say what it prefers.
Is this an excessive hardship for tools, if not for servers?
Heretofore-reserved identifiers such as 'class', and such unreserved
novelties as 'use' pragmas, should be easy to discern.
When servers and clients chat, the MIME type's version= parameter
should be respected, at least for type="application/
ecmascript;version=4" and type="application/javascript;version=2".
Not all browsers respect it today. File bugs with those browsers you
care about that have open bug systems ;-).
There are already variants of ECMA-262 languages that have suffixes (.js, .as most conspicuous). Let a thousand suffixes bloom?
I suspect this is precisely what will happen if we don't recommend a suffix.
While it's true that tools should be able to discern based on content, explorer/finder/your-shell-name-here is much less likely to do so, and IMHO the ability to filter out ES4 files at this level is likely to be much more useful than the difference between ECMA-262 languages.
".es4" (or ".es", or ".js2", or...) are indeed kinda sucky ("like a skin disease", indeed), but I'd much rather have one kinda-sucky-but-standard suffix than 3 or 4 different ones (see: ".cp", ".cpp", ".cxx", ".cc", etc...)
My l33t h8x0r proposal would be:
.j2
(0.5*serious)
I don't think there can be a standard suffix. ActionScript uses .as and I can't imagine that changing it would be a popular decision with users. It should be down to the people who define the language's environment to determine the suffix, whether that is Netscape defining JS or Adobe defining AS, because the same suffix would imply compatibility, while each environment provides different native objects and uses the language in a different way.
On the other hand, it would be a shame if my AS project cannot share some of the classes from my JS project. So I would be in favour of ECMAScript specifying that a conforming implementation does not require a specific extension, and leave it up to NetScape to recommend using .js for JavaScript, to cover any MIME requirments, if they exist.
Peter
Agree. The horse has already bolted.
Mime definition files, like those provided with web servers need to be updated to cover the common ECMAScript extensions. Then the mapping from extension to content type should be automatic.
However, I do agree that a "suggested" extension(s) for ES4 could prevent more divergence than we already have. It would be good to be able to distinguish an ES3 file from an ES4 file by extension.
Michael O'Brien
On Oct 3, 2006, at 3:47 PM, Peter Hall wrote:
I don't think there can be a standard suffix. ActionScript uses .as and I can't imagine that changing it would be a popular decision with users. It should be down to the people who define the language's environment to determine the suffix, whether that is Netscape defining JS or Adobe defining AS, because the same suffix would imply compatibility, while each environment provides different native objects and uses the language in a different way.
Agreed.
On the other hand, it would be a shame if my AS project cannot share some of the classes from my JS project. So I would be in favour of ECMAScript specifying that a conforming implementation does not require a specific extension,
We can say that; it may not be heeded.
and leave it up to NetScape to recommend
Netscape, what's that? :-)
However, I do agree that a "suggested" extension(s) for ES4 could prevent more divergence than we already have. It would be good to be able to distinguish an ES3 file from an ES4 file by extension.
This is what I was getting at. We can't enforce it, but a suggestion may help avoid needless divergence...
On the other hand, it would be a shame if my AS project cannot share some of the classes from my JS project. So I would be in favour of ECMAScript specifying that a conforming implementation does not require a specific extension,
We can say that; it may not be heeded.
The current spec says nothing about how programs are stored. We'd have to say something about files before we could say something about file names. Does anyone think it's a good idea for the ECMAScript spec to define what a file is, or more generally how programs should be stored?
I don't.
The current spec says nothing about how programs are stored. We'd have to say something about files before we could say something about file names. Does anyone think it's a good idea for the ECMAScript spec to define what a file is, or more generally how programs should be stored?
I don't.
Then how do you suggest that the specification allows for the classes to be re-used between JS and AS applications?
Peter
Netscape, what's that? :-)
bleah :-P
Peter
Peter Hall scripsit:
Netscape, what's that? :-)
bleah :-P
Well, googlism.com tells us:
Netscape is out the door. Netscape is apple on internet time. Netscape is unable to connect to the server. Netscape is toast". Netscape is begging me to convert. Netscape is such a piece of crap. Netscape is niet van microsoft. Netscape is no saint. Netscape is annoying. Netscape is unable to locate the server. Netscape is reviewing the netscape and mozilla public. Netscape is conning the security community. Netscape is unable to use the mail server because you have not. Netscape is java enabled. Netscape is 98 proof says andreessen. Netscape is dead. Netscape is my browser of choice. Netscape is only about 7. Netscape is unable to locate the. Netscape is too busy. Netscape is committed to honoring the privacy of our members and. Netscape is a popular suite of integrated another internet. Netscape is a graphical web browser which provides a number of. Netscape is a graphical browser. Netscape is displaying. Netscape is a dummy. Netscape is unable to use pop3. Netscape is unable to locate. Netscape is from venus. Netscape is started. Netscape is slow. Netscape is "available". Netscape is your preferred browser. Netscape is "in merger talks with america online". Netscape is releasing the source code for two reasons. Netscape is watching you. Netscape is being penny foolish and dollar stupid. Netscape is apple on internet time philip w. Netscape is unable to use the pop3 server. Netscape is back. Netscape is toast. Netscape is a pain. Netscape is begging me to convert i am a diehard loyalist when it comes to software. Netscape is toast". Netscape is fighting back. Netscape is crap. Netscape is free. Netscape is silly. Netscape is rushing to release version 6. Netscape is not just a browser. Netscape is. Netscape is reviewing the netscape and mozilla public licenses. Netscape is unable to use the mail server because you have not provided a username. Netscape is 98 proof says andreessen netscape is boldly going across new net frontiers the. Netscape is alive'. Netscape is only about 2. Netscape is dedicated to meeting the needs of today's "a la carte. Netscape is the only web browser currently available that can make ftp connections to a vax. Netscape is out of memory prev toc next prev toc next. Netscape is your default browser. Netscape is putting in place for its products?. Netscape is architecture. Netscape is not free. Netscape is a graphical web browser. Netscape is still deciding what to do. Netscape is out of memory. Netscape is displaying preparations add 1 command button and 1 label to your form. Netscape is a graphical world wide web. Netscape is trying to recover more than just monetary damages. Netscape is putting in place for its products? netscape is committed to releasing quality products and. Netscape is fantastic. Netscape is eating resources. Netscape is unable to use the pop3 server because you have not provided a username. Netscape is particularly sensitive. Netscape is your current browser. Netscape is not listed above. Netscape is releasing their source code. Netscape is a lot slower. Netscape is on the move. Netscape is a global company with users in over 125 countries. Netscape is "in merger talks with america online". Netscape is running an xml app. Netscape is faster on fast connections. Netscape is a nightmare for developers. Netscape is "continuing to gain momentum. Netscape is thus the big win. Netscape is started only once. Netscape is "absolutely committed to continuing development of the browser on an ongoing basis. Netscape is whining. Netscape is dead well. Netscape is not included with the linux distribution.
Then how do you suggest that the specification allows for the classes to be re-used between JS and AS applications?
I suggest that the specification only says how ECMAScript classes interoperate. If JS and AS classes are ECMAScript classes then they will be able to be re-used regardless of how they are loaded. How they are loaded is up to the implementation.
This is not to say that those implementations that deal with files should not agree on file naming conventions. I'm just saying that that has not been the role of the ECMAScript Language Specification, at least not yet.
Hello all,
the first time I post here my name is zwetan Kjukov, I live in France I used JavaScript since it was available (Netscape Navigator 2.0), ActionScript since Flash 5.0, JScript since ASP 1.0, etc.
basically I'm just a developper, and hope that my comments will not be out of place.
Even if I agree with most what has been already said, I feel that an ES4 extension have to be defined.
JavaScript go with *.js, ActionScript go with *.as, etc., it would be usefull for developpers willing to share ES4 classes that their tools/IDE support an additionnal extension like *.es (or any other) that all tools vendor agree on.
As a dev I don't want to do a massive/reccursive file renaming just to be able to share the classes, not because it would be hard to do (any build tool or perl script could do it), but because it just does not feel right with the language.
If I got a language that allow me to isolate host functionnalities in namespaces, so I don't need a preprocessor with #if #elif uglyness, then I also want a language and a tool/compiler/IDE that will not choke on different extensions.
Because I also want to be able to express with a a different extension that those particular files are meant to be ES4 compatible.
I will just quote the ES4 wiki about standard library issues developer.mozilla.org/es4/proposals/proposals.html "Whatever we do, we intend with the right package and other facilities to support a standard library ecology."
having a common extension is imho a facility to help developpers from different spheres to share code, or at least express the sharing aim.
ECMAScript as a name perharps sound like a skin disease, but the real disease for a poor dev like me is to be forced to do host-centric programming where I would prefer to do language-centric programming.
js1/es3 seems to have standardized on .js. Will there be a different
suffix for js2/es4? Or will tools be expected to figure it out from
the content of the file?