@Marco,

Childish and amateurish were not my words in the first place, they were 
Crockford's. And, although there may have been a bit of provocation in my 
post, I think that the problem is real (otherwise, why would Crockford use 
these words?).

The problem that I see is that a number of smart people (Jorge being one) 
have proposed interesting things to fill some of the holes in node's story 
(like the inability to do CPU intensive stuff in JS - remember the "node is 
cancer" story). Of course, Jorge has been stepping a bit on what node's 
core team was doing (as they tried to attack the thread problem from a 
slightly different angle but decided to backtrack) but maybe this means 
that they took the problem from the wrong angle and that what he has done, 
although more limited in scope, could be interesting. My expectation would 
have been that the topic be discussed at the technical, professional level 
between the different people involved. Did this ever happen? Did any member 
of the core team ever show any interest in what Jorge had produced? I may 
be simplifying a bit but I have the impression that all he got was negative 
feedback. And then people feel authorized to post sarcastic remarks ("this 
again? oh mah gawd", "daft silly thing") about his work. And of course, 
nobody reacts. This is what I find very childish and I am sure that a 
number of other professionals who are watching our discussions feel the 
same way.

There should be a way to discuss issues like threads without going into 
sarcasms and personal things.

@Fedor,

Of course, CPU intensive stuff can be done in C++ but this is a completely 
different story: you have to dive into C++, deploy C++ extensions, etc. 
Being able to do it in JS (with the help of a generic C++ library) can be 
an attractive proposition. At least it is for people like me who have rusty 
C++ skills and are ready to trade a bit of performance for some comfort and 
piece of mind.

To me, TAGG is a bit crippled today by the fact that you have to serialize 
data as strings to pass it between threads. But if we were able to transfer 
ownership of JS objects, or, although this is less powerful, at least pass 
frozen objects between threads, this would allow us to pass buffers or 
whole object graphs very efficiently to worker threads. Then the TAGG 
proposition would become really attractive.

This feature (being able to do CPU intensive stuff in JS) may not hit the 
sweet spot of node, which is I/O intensive apps. But it does not hurt node 
either; it enables something that was impossible (or much harder) to do 
before, and it does it with a design which is aligned with node's 
principles (computations being treated just like async operations). So why 
bash it?

On Monday, September 17, 2012 5:10:07 PM UTC+2, Marco Rogers wrote:
>
> Jorge doesn't have to swallow anything. In fact he has not. He has engaged 
> with the subject at hand and has not responded to the troll bait about his 
> lib. Notice he continues to receive feedback, about the subject. As does 
> rektide even though he was the person who derailed the conversation in the 
> first place.
>
> You however, chose to respond to the bait by throwing a tantrum and 
> calling the whole community childish and unprofessional (** groan **). 
> Even though it looks like the comment that set you off from rektide, who 
> brought up TAGG in the first place.
>
> So as desperately hard as you're trying to have a rational discussion 
> about this, you seem to be the only person who can't seem to do so. And at 
> this point, responding to you is starting to feel dangerously like feeding 
> trolls... oh damn. Guess I fell for it too.
>
> :Marco
>
> Sent from my iPhone
>
> On Sep 17, 2012, at 4:25 AM, Bruno Jouhier <[email protected]<javascript:>> 
> wrote:
>
>
> So it is perfectly fine if someone writes:
>
> "Threads-a-go-go is a pretty daft silly thing. 
> It's certainly not the safe sane shared-nothing threading that keeps Node 
> & JS safe. That 
> responsible multi-threading work was attempted in the 'isolates' branch of 
> Node.js"
>
> Jorge should just swallow the FUD, bend over and apologize for having 
> proposed such a "daft silly thing" to the community! 
>
> BTW, the 'isolates' branch failed, probably because it was trying to do 
> too much (put a complete node into every isolate). TAGG solves a much 
> narrower problem: delegating CPU intensive operations to threads, and it 
> does it in a safe and efficient way.
>
> The problem is that we cannot even discuss anything related to threads in 
> a rational way. There may be perfectly valid use cases for threads in node 
> (I think that CPU intensive computations are one - you can do them in 
> threads with C++, why not in JS?), and there are perfectly safe and clean 
> ways to add threads to node (and I think that TAGG is one - the "eval" 
> situation can be improved with modules). But how can we discuss this 
> without everyone jumping to the ceiling?
>
> Bruno
>
> -- 
> 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] <javascript:>
> To unsubscribe from this group, send email to
> [email protected] <javascript:>
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
>
>

-- 
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

Reply via email to