The gist reads like someone looking for an excuse to give up and move on. Every time I run across someone bitching about Node's programming model I'm reminded of "The Blub Paradox".
I have to admit that learning to think in callbacks was initially an exercise in frustration. But it wasn't that hard.
Most of the pyramid-type issues can be resolved by applying principles that are also valid in synchronous environments (like modularity).
If modules and named functions aren't enough, you can subclass EventEmitter to further decouple. For more complex cases there's https://github.com/caolan/async, which makes many nontrivial async problems relatively easy.
Why is it so hard for so many people to appreciate Node for its merits? The code isn't going to execute in a perfectly linear way, so why should it have to be written as if it were?
Comments
The gist reads like someone looking for an excuse to give up and move on. Every time I run across someone bitching about Node's programming model I'm reminded of "The Blub Paradox".
http://paulgraham.com/avg.html
I have to admit that learning to think in callbacks was initially an exercise in frustration. But it wasn't that hard.
Most of the pyramid-type issues can be resolved by applying principles that are also valid in synchronous environments (like modularity).
If modules and named functions aren't enough, you can subclass EventEmitter to further decouple. For more complex cases there's https://github.com/caolan/async, which makes many nontrivial async problems relatively easy.
Why is it so hard for so many people to appreciate Node for its merits? The code isn't going to execute in a perfectly linear way, so why should it have to be written as if it were?