Hacker News new | ask | show | jobs
by crueber 4145 days ago
I don't see a single factual statement here.

io.js spent part of December in a rapid incubation, and released in early January.

It's stable for me on several production applications, but what does 'stable' actually mean, vs 'beta'.

Their community started open, and remains open, and has a larger contributing base than node by more than triple. They have an open technical committee, with meetings that anyone can attending (and I have).

Here's the spade: You're wrong. Actually do your research, have facts that you can back up, and try again. Your tune will be very different when you have the facts.

1 comments

io.js is not stable. Despite claiming the 1.x for semver, they have not reached their stated goal, which is to be 100% compatible with the node module ecosystem. Therefore countless modules which are stable on production Node, are broken on io.js [1]. Doesn't get much more clear than that. Hype.

For example, there is no "build passing" badge on the io.js github, because the tests aren't passing [2]. Even if they were, no CI service is yet available -- so how can the community at large reliably test against it?

[1] https://github.com/search?q=io.js&type=Issues&utf8=%E2%9C%93

[2] https://jenkins-iojs.nodesource.com/

You are running a circular argument. What determines stability for a programming language. Running code? I've got plenty of that. Not crashing? I've seen no more crashes on 1.1 of io.js than I have on 0.10 of node, which I also consider to be perfectly stable for production applications, as I run several. So I say again, for what values of stable? Failing tests only indicate a change. Is something broken for you?

Please cite your io.js source for their statement of maintaining 100% compatibility with all node modules. I can't find any reference to that anywhere. NPM is certainly usable, as I use it daily with io.js, which fits their websites statement of "This project began as a fork of Joyent's Node.js™ and is compatible with the npm ecosystem.".

Still nothing credible in this thread, move along.

From their front page:

> io.js is an npm compatible platform originally based on node.js™.

Sorry, they were aiming for 100% tests passing [1], I would assume for npm compatibility which is their primary goal.

A stable API means that dependent packages don't have to change to stay compatible. Tests are failing because they change things that broke packages:

* Node-inspector does not work with io.js! How is anyone supposed to debug their code? [2]

* Fibers do not work [3]

* msgpack does not work [4]

* sqlite3... there is a long list [5]

There is no CI, no debugger, tests aren't passing, major modules don't work. I absolutely cannot go to my CEO and make a bet on that for my company.

I think io.js is great! But the amount of misinformation about the state of Node is staggering. Let anyone with proof otherwise also cite their sources.

[1] http://blog.izs.me/post/104685388058/io-js

[2] https://github.com/node-inspector/node-inspector/issues/523

[3] https://github.com/laverdet/node-fibers/issues/203

[4] https://github.com/msgpack/msgpack-node/issues/20

[5] https://github.com/iojs/io.js/issues/456

You're quite active in spreading FUD in this thread. Please stop.

Node 0.12 was released and ships with v8 3.28.73. Most (if not all) of the bug reports you cite refer to needing NAN 1.5 which fixes issues with v8 > 3.28. NAN is used by both io.js modules AND node.js modules.

Both io.js and node.js 0.12 have a v8 > 3.28. All those modules are also broken in Node 0.12 because the underlying v8 API changed.

As pointed out by others, the node.js tests are only passing because some last minute shenanigans so they could claim all their tests were passing "but io.js' tests are not."

Well, sqlite3, as an example didn't work for node 0.11.x either... and they had no intention of supporting it until 0.12.x, and not sure if they're even there yet...

Compiled modules are generally more tied to the version of V8 that node/iojs is bound to, depending on that library's interface needs. This is why many libraries are written, rewritten and using javascript-only, so that they can run everywhere. For that matter, many compiled modules didn't work right in windows until well after 0.10 was first released, and some still don't.

Node v0.12 only passes tests because of this: https://github.com/joyent/node/pull/8689

io.js does not contain this commit, or any of the changes from this commit: https://github.com/iojs/io.js/search?utf8=%E2%9C%93&q=%22PAS...