On 7/26/13 3:12 PM, Mark Hahn wrote:
I have heard that actors such as used by Apple are slow. Is this true in general?
I am just learning about actors myself, but the comparisons I've seen online between event loops and actors generally seem to suggest that actors are equally fast as event loops, if not faster. Of course, take that with a grain of salt - hopefully someone with more experience will comment.

One nice thing about actors is that they're really the essence of object-orientation - a network of communicating objects / actors, each of which is like a mini-computer, that communicate via messages. This was the vision expressed by Alan Kay, who invented the term "object-oriented programming."

This is not to say that OOP is always the "best" solution, but it's certainly a powerful idea, and quite useful in a lot of situations, when its original meaning is understood, rather than the watered-down version (which is really class-orientation) that's more common today. The parallels with actors are quite strong...

Alan Kay:
In computer terms, Smalltalk is a recursion on the notion of computer itself. Instead of dividing "computer stuff" into things each less strong than the whole--like data structures, procedures, and functions which are the usual paraphernalia of programming languages--each Smalltalk object is a recursion on the entire possibilities of the computer. Thus its semantics are a bit like having thousands and thousands of computers all hooked together by a very fast network. Questions of concrete representation can thus be postponed almost indefinitely because we are mainly concerned that the computers behave appropriately, and are interested in particular strategies only if the results are off or come back too slowly.

Though it has noble ancestors indeed, Smalltalk's contribution is a new design paradigm--*which I called object-oriented*--for attacking large problems of the professional programmer, and making small ones possible for the novice user. Object-oriented design is a successful attempt to qualitatively improve the efficiency of modelling the ever more complex dynamic systems and user relationships made possible by the silicon explosion.

[Kay-93]
Carl Hewitt:
"An Actor is the fun苓a衫en負al unit of com計u負a負ion which embod虹es the 3 things -- pro苞ess虹ng, stor苔ge and com衫u要i苞a負ions -- that are essen負ial to computation."

http://channel9.msdn.com/Shows/Going+Deep/Hewitt-Meijer-and-Szyperski-The-Actor-Model-everything-you-wanted-to-know-but-were-afraid-to-ask
Trygve Reenskaug, inventor of the MVC pattern and DCI:
Like a computer, a true object offers three basic capabilities that are essential for representing system state and system behavior:
storing, transforming, and communicating:
(from a draft article as quoted here:)
https://groups.google.com/d/msg/object-composition/N5D3eBCvZhE/afCxLAE58joJ

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