Closed tracker1 closed 9 years ago
Naming the binary js
probably isn't a good idea because it is so generic, it isn't strictly just javascript, and spidermonkey already uses the js
binary name.
As for features hiding behind the --harmony
flag. That isn't a core issue. It's v8 that's hiding the features behind the flag and for good reason. A lot of these features are still being implemented or are fully implemented but still buggy. However, given than iojs wants to pick up v8 releases on a regular basis, we won't have as much of an issue with new features because as v8 moves things from behind --harmony
and into regular v8, iojs will get that automatically.
--harmony
is a convention in node/iojs, yes it's related to feature flags in v8, but it could be easy enough to do the reverse... where --harmony
is assumed unless, for example --es5
is passed.
--harmony
is strictly a v8 option. See node --v8-options
for all the flags. --harmony
is on there.
Making --harmony
by default is not a good idea because as I mentioned this is here experimental features go first.
the problem here is that there is a language called io - Unless we want to be complete assholes (and consider overwriting io
a non-issue) we should drop and binary called io
.
beyond that, harmony flags/enabling should probably live in a separate issue to avoid conflating these two issues. They have nothing to do with naming.
ps: i'm 100% against naming the binary io
- iojs
seems ok given the circumstances.
edit:just because we're running js does not mean that we will be the blessed implementation per platform (see windows vs jscript)
TC resolution on this is something like this: project name is "io.js", binary is "iojs" with a symlink (or possibly a mini redirecting executable in the case of Windows) to "node". Maybe using the "alternatives" system on various Linux distributions to work with Node.js releases.
Previously someone had suggested in another thread about having
io
be the main bin executable andnpm
as-is...I was thinking that (like perl, ruby, etc..) the main executable should simply be
js
or/bin/js
in *nix systems. And thatjspm
simply be a script that runsnpm
out of the npm repository... (where the installation will install thejs
executable, as well as the npm (inside npm's install itself), then link or create a run script that points to the current version.Just thinking that
js
really is the language, and should simply be where it is... one other minor opinion, is that we should stop hiding new features behind --harmony flags... Especially what's been established for ES6.