News for hackers. Stuff that matters.
Re:Node v0.12.0 (Stable) by bcantrill on Friday February 06, 2015 @06:16PM (#9012222)
Several have asked about node.js in contrast to io.js. It's fair to say that the emphasis of node.js at this point is on stability (including API stability, production debuggability/observability, etc.) and performance -- in that order. It definitely takes longer to release software when operating under these constraints; as the team writes in the linked blog entry:

We are also pleased to report that this release of Node.js has tests passing on all of our supported platforms. On the one hand, this seems obvious (what are tests for if not to verify before you release it?!), but this is actually the first release of Node.js that has operated under this constraint. Requiring that all tests pass before releasing Node.js marks an important development for the project, and is essential for building a solid path moving forward.

It's unclear what the divergence will be in the future, but the emphasis of the node.js team on stability may or may not be shared by io.js -- and in particular, this may be reflected in things like the V8 version, changes in which tend to subtly break esoteric things on different platforms. Inasmuch as the divergence represents different operating principles (i.e., enterprise-grade stability vs. bleeding edge), it may well be helpful -- and I think it's entirely conceivable that the projects will develop a symbiotic relationship moving forward.

Re:Node v0.12.0 (Stable) by LukeB_UK on Friday February 06, 2015 @07:28PM (#9012494)
A little disingenuous to say the tests pass when they landed this PR: https://github.com/joyent/node/pull/8689

Edit: Also, you should probably mention that you work for Joyent.

Re:Node v0.12.0 (Stable) by dmpk2k on Friday February 06, 2015 @08:51PM (#9012741)
He probably should, but then, almost everybody using both node and HN knows who he is.
Re:Node v0.12.0 (Stable) by xtrumanx on Friday February 06, 2015 @10:04PM (#9012912)
I don't know why you assume that. Who is he anyways and why do you expect HN+node folks to know who he is?
Re:Node v0.12.0 (Stable) by dmpk2k on Friday February 06, 2015 @10:27PM (#9012947)
Amongst other things, Bryan Cantrill is the CTO of Joyent, one of the authors of DTrace, and comments here regularly. If you use node (or DTrace, or ZFS) and read HN, he's pretty hard to miss.
Re:Node v0.12.0 (Stable) by untog on Friday February 06, 2015 @11:40PM (#9013083)
I use Node and Hacker News every day. I have no idea who he is. I'm not some rube, I just don't pay much attention to personalities in tech like that.
Re:Node v0.12.0 (Stable) by LukeB_UK on Saturday February 07, 2015 @10:48AM (#9014268)
I use node and read HN, I had no idea who he was. I'm not ignorant, I just don't care much about 'celebrities'.
Re:Node v0.12.0 (Stable) by shadowmint on Friday February 06, 2015 @09:48PM (#9012862)
There's certainly something to be said for stability, but node continues to use abandoned versions of the V8 engine, which, increasingly, is going to be a problem.

Software does tend to remain stable if you never make any changes to it, but that's not necessarily the right path.

Oh well, if nothing else, this whole io.js thing has set fire to joyent. It's nice to see something happening at last.

I guess competition is a good thing.

Re:Node v0.12.0 (Stable) by wereHamster on Friday February 06, 2015 @06:28PM (#9012259)
Why don't you push nodejs forward and track the latest v8 (or whatever the latest stable chrome is using), and then cut LTS releases at regular intervals, kindof like the kernel or ubuntu?

Also, are these tests public? How many does iojs pass/fail?

Re:Node v0.12.0 (Stable) by tellnes on Friday February 06, 2015 @06:32PM (#9012279)
That is the plan for io.js. Doing releases often and LTS at some interval.
Re:Node v0.12.0 (Stable) by nailer on Friday February 06, 2015 @06:31PM (#9012270)
How does the stability concern gel with a unmaintained v8?
Re:Node v0.12.0 (Stable) by bcantrill on Friday February 06, 2015 @06:36PM (#9012297)
The idea of a "maintained" V8 is a bit of a myth -- there really isn't such a thing. Mostly, when V8 breaks node.js (e.g., by changing/eliminating a C++ API or by implicitly or explicitly breaking debugging support), node.js has to change. In that regard, it just takes a while to get a version of V8 fully integrated and operating correctly on all platforms -- and I think it would be valuable for the core team to blog some of the history and technical details here...
Re:Node v0.12.0 (Stable) by oso2k on Friday February 06, 2015 @07:57PM (#9012578)
That's not true and the v8 team's stance is pretty clear. The master branch is the only "fully supported" code base, currently at 4.2.56 [0]. Most other tagged versions going back a year or two receive best effort support. Usually, that means Ben Noordhuis, but often Andreas, Yang, Vyacheslav, and others on the v8-users and & v8-dev lists. Good responses all around in general. And the list of responsive people continues to grow.

[0] https://github.com/v8/v8-git-mirror/tree/4.2.56

Re:Node v0.12.0 (Stable) by LukeB_UK on Friday February 06, 2015 @07:32PM (#9012499)
The io.js team is working alongside the V8 team to make sure that the upgrades are as easy as possible.

Rod Vagg has a project called NAN[0] to try and allow node modules to compile across node versions.

[0] https://github.com/rvagg/nan

Re:Node v0.12.0 (Stable) by z3t4 on Saturday February 07, 2015 @05:03AM (#9013589)
Most people will appreciate stability more then language features. I'm a bit surprised about some of the comments here.
Re:Node v0.12.0 (Stable) by wereHamster on Saturday February 07, 2015 @06:18AM (#9013681)
How do you know? Was there a poll recently about who prefers stability over progress?
Re:Node v0.12.0 (Stable) by z3t4 on Saturday February 07, 2015 @06:00PM (#9015642)
I think mostly about the end users, those who depend on the software.

The last thing you want is to get some weird errors because of a bug in the latest V8 engine. Those bugs tend to never show in development, and is not found in unit testing. But will show up in production when you have thousands of people using it. And there's often nothing you can do about them, then maybe downgrading, or wait for the next Node.JS version.