> idempotentcy is a perf issue in resource starved JS
Could you expand on this?

I agree completely on your point about branching, excessive then and being
harder to read. Ultimately, it's my personal belief that given equivalent
examples people will choose what they feel is most readable (and it would
not be promises, though that remains up to the individual).

Would you care to fomarlize these a bit more with examples of where you
feel promises suffer most?

> Domain all the things
For the near future, I feel it's appropriate to bring to people's attention
that domains are not meant for catching errors (See
http://nodejs.org/docs/latest/api/all.html#all_warning_don_t_ignore_errors).
Unfortunately error coalescing is listed as a major benefit of promises,
which exacerbates the issue a bit for various reasons.

Cheers,
Adam Crabtree


On Mon, Apr 1, 2013 at 10:39 AM, Bradley Meck <[email protected]>wrote:

> When we have been making large scale software a few things have come up.
>
> 1. Callbacks suck for linear workflows (a->b->c)
>
> This kind of workflow results in what I like to call the mudslide.
> Your code really wants to expand into some minor nesting once you have
> shared state (sometimes immutable state and idempotentcy is a perf issue in
> resource starved JS [rare use case generally]).
> But often when composing parallel workflows this is better for
> composability (using `.bind` or `npm i async`) vs many `.then` calls on a
> promise.
>
> 2. Promises suck for branching workflows (a->(b&&c)->d)
>
> When promises enter the parallel (not async) workflow we start to see some
> fun things happen.
> `.then` is called, a lot , which gets confusing to read.
> Promises on their own need some help when making a join after a fork (see
> `npm i q`). This parallels to the composability fixes using
> `async.waterfall` above.
>
> 3. Domain all the things
>
> IDC what it is, if you are serious, both need domains.
>
> That being said, there are wrappers both ways, but mostly: determine what
> kind of workflow you do most often. Most of my things would be awesome if
> they were linear, but often im grabbing multiple things at once using
> `async.parallel` combined with `async.waterfall`.
>
> --
> --
> Job Board: http://jobs.nodejs.org/
> Posting guidelines:
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "nodejs" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
Better a little with righteousness
       than much gain with injustice.
Proverbs 16:8

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to