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.