Node.js modules you should know about: read
catonmat.net
catonmat.net
The problem that i have however, is that for a beginner in Node.js and in programming itself for that matter, i just cant benefit or take advantage of a site like this because , in my opinion it caters for intermediate level and above.
I dont even know what stdin does yet, let alone what obstacles i might face when using it.
I had the same problem with NodeTuts as well. I found that a lot of the video tutorials were better suited to people who already had a foundational knowledge, but now that i've been learning more about Node, those videos now make much more sense and are much more useful.
Anyway, this isnt a rant, i just wanted to share in case the feedback is useful for anyone.
Even as an experienced programmer, I'm still reticent to use node in any real projects, (mostly because I'd spend half my time updating it to work with the latest release).
Of course, it can be fun to hack on a fast moving platform, but it can be annoying too, when you spend your evening trying to get an environment set-up on an obscure platform rather than writing any useful code.
That said, most of the most popular modules are actively updated, and their APIs rarely change. The 0.6.x branch brought some backwards breaking changes, but overall it doesn't seem to be a significant amount of work to update.
The platform isn't moving THAT fast that it's tough to keep up with.
How do you feel about Node.js now that we're on version 0.6? I've been dabbling with it again recently and found it to be maturer and much more stable. I also heard a quote (i cant remember from who) in a video saying that Node was now production ready?
I've even been using it on Windows and found it to be very well behaved indeed. Same goes for MongoDB for that matter.
The API is not changing quickly any more. In fact, in most areas (if you're just dealing with documented features and not diving into obscure internals) it's as stable as it's going to get.
The most recent breaking change that I'm aware of was announced almost a year in advance (though it still caused some hardship). We really are trying to avoid doing that sort of thing if at all possible.
Yes, it's young and there will be bugs, but updates that "break all the nodes" should be a thing of the past.
Node tries to rely on Unix terminology when applicable. If you've never done systems programming of any sort, then yes, this may be a blocker. But, I don't think that most programming language documentation takes the time to explain what "stdin" is.
I wasnt trying to be inflammatory in any way.
seq = [ ]
seq.push ( cb ) -> read prompt: 'Username: ', cb
seq.push ( cb ) -> read prompt: 'Password: ', silent : true, cb
async.series seq, ( err, [ username, password ] ) ->
console.log "#{username}, '#{password}'."
process.stdin.destroy()
Very readable and very simple.I kind of felt that the nesting of functions was really ugly, positive there was a better way to do it, but unsure of how to even go about finding out. Can't wait to get home and try out seq now.
Unix commands you should know about: http://news.ycombinator.com/item?id=2567186