
What’s new in Node v0.10? - sickeythecat
http://blog.strongloop.com/whats-new-in-node-v0-10/
======
mjs
So a readable stream is an EventEmitter, but it's not recommended that you
actually listen for 'data' events? (Instead you're supposed to call read()?)
That seems ... counterintuitive.

Anyone know what you're supposed to do if you have code with multiple
listeners for 'data' events?

~~~
IsaacSchlueter
If you add a listener for 'data', or call stream.resume() then it'll start
flowing data as it receives it, just like v0.8 and before. The only caveat is
that listening for 'end' will __not __automatically start the flow of data, so
you do sometimes have to either call resume() or add a data listener.

In practice, it's rare that you care about the end of the stream, but not
about the data coming through it, except in tests.

tl;dr Your existing programs will almost certainly Just Work.

~~~
mjs
Thanks. Is there any significant performance difference? (I'm wondering if it
makes sense to roll my own "proxy" converting read()s to emit()s.)

~~~
IsaacSchlueter
No, it does not make sense to roll your own proxy turning read() calls into
emits. You probably won't get it to go faster than it does now. Whether you
use on('data') or read(), you get equivalent performance.

------
awjr
Look here for a detailed analysis of benchmarks.
<http://blog.nodejs.org/2013/03/11/node-v0-10-0-stable/>

From that post, their focus is on v0.12 and then v1.0. Nice to see we're
getting to that stage.

------
foodog12
After 9 months all we get is a new streams interface?

~~~
dmpk2k
Given how all manner of languages, libraries and frameworks tend to massively
sprawl over time, keeping the growth of core components down is a good idea.

------
mtgx
v0.10 comes after v0.8(0)? That's like launching Chrome v3 after Chrome v25.

~~~
untog
0.10 != 0.1, in the same way that 0.8 != 0.80

~~~
taytus
Could you explain that?, because if you're right I been wrong my whole life.

~~~
adlpz
Version numbers are not _numbers_. How would you explain, for example,
Chrome's version 24.0.1312.57?

Dots separate _logical_ numberings, like version, patch, bugfix, etc. So 3.0
goes after 2.0 And 2.0.2 after 2.0.1. _And 1.10 after 1.9_.

~~~
jQueryIsAwesome
´n.n.n.n´ where the dot does not represent decimal notation but a less
significant variation (of the software) than the previous number. This is
universally true for the first two numbers but not always for the rest.

------
mmaster5
huh so these strongloop guys are the new node maintainers?

~~~
IsaacSchlueter
No.

StrongLoop employs 2 node core committers, Ben Noordhuis and Bert Belder, who
are also two of the most active libuv committers. (They have other folks that
work there, of course, but those two also work on Node itself quite a lot.)

Joyent still is the custodian and IP owner of the Node.js project. They pay me
to work on node, and also provide the project with marketing, legal, hosting,
and other resources. Joyent also uses Node extensively in their technology
stack, and builds tools to debug their own and their customers' production
Node applications.

StrongLoop will be providing support to users of their Node Distro, which
bundles v0.10 with a few battle-tested npm modules.

Joyent and StrongLoop are very different companies, and while they're not
officially partners, that I'm aware of, they are certainly not competitors in
any sense.

~~~
mmaster5
As I read it, Joyent relicenses the IP under MIT, so although they may be the
IP "owner" they immediately give anyone a license to do pretty much whatever
with the code.

Definitely appreciate that they pay you to work on it. Appreciate that there
are new companies in the ecosystem too.

And finally someone who looks like they are going to support Node on Windows
and Linux!

~~~
IsaacSchlueter
The node team has supported Windows since 0.6, and Linux forever.

StrongLoop Node is a bundled distro with modules etc that they're going to
support as well.

------
greyelmy
W00t!

