237 karma · joined September 29, 2010
The difference is in what happened afterward. What I did then was to try to understand why Node.js did things differently and how I could accomplish my goals in an idiomatic way. I didn't try to shoe-horn in my existing mental framework for how things should work, and then throw my hands in the air when they didn't.
However, what I didn't do was immediately run to Alert the Internets about what "A Giant Step Backward" Node.js is.
What's so hard about this to get a sequential execution of functions/blocks, error'ing out on the first error:
async.waterfall(
[ function (callback) {
// do thing 1
callback();
}
, function (callback) {
// do thing 2
callback();
}
, function (callback) {
// do thing 3
callback();
}
]
, function (error) {
if (error) {
// ohnoes errors
}
// all done!
}
);It's amusing how any time Apple does something like this the apologists come out of the woodwork falling over each other to defend them.
If you can't see this, I don't really know what to say. Apple literally makes billions of dollars on software, you'd think they'd throw the developers that literally helped build their ecosystem a freaking bone. I suppose that's too much to ask from Apple.
Cue the "vote with your wallet", "no one is forcing you to use it" rabble...
Hubris much?
For real i/o in JavaScript, look at AJAX: Callback based.
FWIW any other runtime/framework will do what you suggest. For example, Rhino.
2. It's not known whether this will lead to a full blown "conflict" (although, who are we kidding, it probably will)
I was elated. It was by no means a very challenging thing to do, but I would have been totally fucked if I didn't know how to do software development.