they'd do much better with twisted (python) than tornado. using Deferreds is nothing like opening keys with a beer bottle -- it makes a lot of sense.
and as a former ITA Software employee, i can scoff and say they aren't actually doing anything resembling flight search. they're just scraping websites and APIs. node.js might be fine for that, but so is anything else. at that level it's more a matter of preference than capability.
The "fibers" utility is quite popular. There are also several different promise libraries, and a few code-translation approaches that simulate coroutines.
They all build on top of the very simple EventEmitter and continuation-passing-style ("callback") style that the node-core API uses.
As a JavaScript luddite, I prefer passing functions around and listening to events :)
and as a former ITA Software employee, i can scoff and say they aren't actually doing anything resembling flight search. they're just scraping websites and APIs. node.js might be fine for that, but so is anything else. at that level it's more a matter of preference than capability.