
Node v0.10.0 (Stable) - binarymax
http://blog.nodejs.org/2013/03/11/node-v0-10-0-stable/
======
ebbv
It's great to see Node mature. When it first came out I was among the many
people who said "That's neat.", played with it a bit and moved on.

But I wanted to make a meeting agenda site, since I don't like any of the ones
out there right now. So the last 4 days I worked on one writing it as a JS web
app that talks to a Node backend. It was quite painless. Anything I wanted to
do (whether generating uuids, date formatting, etc.) there was a module
available on npm. Couldn't be easier.

The platform has really matured a lot, and I didn't run into any issues with
Node itself.

If you haven't yet, the next time you're doing an experiment, give it a try. I
will probably write my next project this way too.

~~~
nashequilibrium
I really like nodejs as well but i have some concerns, i built an app in
tornado and then i wanted to try out node, so i built it in node as well with
a postgres backend. I was surprised how much faster my tornado app was: using
bcrypt blocking module for tornado with a factor of 8 gives me 42.51ms for
login, on node i get 153ms, geting a user profile 6.7ms on tornado and 16ms on
nodejs. These results are consistent across the app, where tornado seems to
about 3 times faster. I am assuming that maybe this is due to the quality of
the libraries, since i assume node is faster. Reading this
article,([https://hacks.mozilla.org/2012/11/fully-loaded-node-a-
node-j...](https://hacks.mozilla.org/2012/11/fully-loaded-node-a-node-js-
holiday-season-part-2/)) helped to understand node more as well as how some of
the libraries deal with threading and async.

~~~
jongleberry
1) are you using the synchronous or asynchronous version of bcrypt?

2) cached or uncached templates?

3) throw 1k+ requests per second and tell us which one is faster

~~~
nashequilibrium
I am using the aync bcrypt module for nodejs. I am using it as an api for ios
app. I will do the 1k test and let you know.

------
niggler
I find the strength, openness, and responsiveness of the community (mailing
list, freenode IRC chat) to be node's greatest asset. They've done an amazing
job in building culture and that should serve node well as it matures.

------
hashmymustache
This is probably a stupid question that can be answered if I read the docs,
but how does versioning work? I love using node, but seeing 0.10.0 makes it
appear like such young, teething software that people might immediately
dismiss it if not for its user base. Why not call this node 10.0 and start at
0.1 instead of having another 0 that looks like it won't ever increment. Does
it reflect a developer's sense of completeness or confidence in his/her
software or does it come from quantifiable steps toward stability/speed?

~~~
mcantelon
Node uses semantic versioning: <http://semver.org/>

~~~
randallsquared
Not perfectly: "If your software is being used in production, it should
probably already be 1.0.0."

~~~
niggler
The public API is not stable, hence a 0.xx number is justified.

~~~
randallsquared
That doesn't seem to match what the semver.org site says.

Node's public API is not changing in a backward-incompatible way every day (or
even every week, or every month). The software is widely used in production.

I think node 1.0.0 should have been some time ago, and this release should
have bumped the major version again.

~~~
niggler
"Major version zero (0.y.z) is for initial development. Anything may change at
any time. The public API should not be considered stable." -- from semver.org

"The software is widely used in production."

Depending on how you define the "public API", things have changed from 0.8 to
0.10 (streams API, for example).

Your definition of Node 1.0.0 is based on your conception of how others are
using node. People can use experimental software in high-profile places
without deeming the underlying technology stable.

"Node's public API is not changing in a backward-incompatible way every day
(or even every week, or every month). "

Also: in general, development is highly nonlinear. I would say the API is
stable when the core developers deem it stable.

------
marcocampos
Can some recomend some decent source material to learn about Node.js and some
best practices about it? I've read "The Node Beginner Book" and found it quite
easy but somehow it didn't click.

~~~
Hortinstein
I would read the core documentation (maybe takes 4 hours), then find a project
you to do in node and do a lot of googling on ways to get certain aspects
done. It is an unstructured way to learn and can be slightly inefficient since
you will go down a few rabbit holes, but I think you will learn a lot more and
have a lot more fun.

When you are in the docs make sure you focus on stream, callbacks, and event
emitters. Once you have those down start gluing NPM modules together.

------
VeejayRampay
I'm neither a user nor a fan, but congratulations on the release and good luck
for all of Node's future endeavours.

------
przemoc
I hope that nodejs debian maintainers will package it into sid soon. v0.8 was
never there.

<http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=692312>

------
latchkey
Very cool. I just tried it with my app. Can't run it until a few npm modules
are updated to support it and of course Heroku needs to be updated to use it
too. How bleeding edge. =)

------
pfraze
probably most happy off the bat to see performance gains (who doesn't like
that?). I'm hoping the fs readstream boost will help with static hosting.

------
Raphael
Why 0.10 and not 1.0?

~~~
hashmymustache
This is a better version of my question. Why use dot decimal notation unless
just a fun way to model versions after network addresses

~~~
goodwink
The dot indicates division of something into smaller parts. For most things we
choose our range for the minor denomination to coincide with our base or a
multiple thereof like having 100 cents in a dollar, but software being what it
is we need to be slightly more flexible.

------
gordondevoe
very excited about the new version but probably won't bother upgrading my app
until a few weeks. Is there a 'one liner' command to update node on OSX?

~~~
veidr
Well, there's a 'one double-clicker': you just run the OS X Installer package
and it will update you.

