This callback programming is the reason i quit node.js. It is easy to get something up and running, but then it feels like i never get out of the chaos i created.
There is a reason why big companies never adopt these things, i can't imagine how it would be to take over a node.js app from someone else.
Now you can argue that this takes practice. Crockford may write JS from heaven, but i don't want to invest my time in this language. These inconsistencies are not fun to deal with and when Dart is here, companies will drop it very fast.
I am now stuck with Scala, it is the complete opposite. It is complicated to get in, but when you get it, you have a gigantic toolbox to solve every problem the way you want. For web programming i recommend Lift, but when you want to get in fast and a fan of async try Play2.0. Node.js made async popular, it should get credit for that.
> There is a reason why big companies never adopt these things, i can't imagine how it would be to take over a node.js app from someone else.