BTW I did not mean to imply you are wrong, just wanted to give some extra background.
He specifically mentions: the problems of distributed programs are much harder - [...] *direct observation is not possible* [...] On Friday, 6 February 2015 13:21:52 UTC, Andre Richards wrote: > > Have a look here: http://clojure.org/state > > In the section *Message Passing and Actors*, he gives his reasoning. > > Basically, Actors were designed for distributed programs, but that comes > with added complexity and a performance hit. He wanted a simpler model, > because he was mainly concerned about concurrency in same-process > programming. > > On Wednesday, 4 February 2015 12:00:51 UTC, Gary Verhaegen wrote: >> >> They are different from actors because Rich is "unenthusiastic about >> actors". I'm not sure there is any single piece of reference where he >> himself describes exactly why he does not like actors, but here is a guess. >> >> Actors have one very desirable property: they encapsulate some state, and >> the actor itself is responsible for managing the synchronisation of that >> state. This is the part about actors that seemed worth having in Clojure. >> >> Actors also have some very undesirable properties, at least according to >> Rich Hickey's aesthetic tastes (or more precisely, what I think his >> aesthetic tastes are based on what I have seen in his speeches and >> writings): they encapsulate behavior in a closed way and they hide their >> internal state. >> >> So, like he often does, Rich separated the essence of actors into >> separate pieces and recombined them in a new way, giving birth to what is >> now called agents in Clojure: a piece of state responsible for its own >> synchronisation, but completely open to behavioral extension and which does >> not hide its internal state. Overall, openness to extension and observable >> state are pretty important values in the Clojure philosophy. >> >> As for the name, I would assume he deliberately chose a word that was not >> widely used yet for any programming language level concept (since this is a >> new concept) but still reflected the notion of individuality and >> responsibility for oneself embodied in the agent's responsibility for its >> own synchronization. >> >> Of course, as agents were part of the initial Clojure release, only Rich >> Hickey can give a definitive answer. >> >> On Wednesday, 4 February 2015, Justin Smith <noise...@gmail.com> wrote: >> >>> In fact agents in Scala were the only version I found that were like >>> Clojure in design. >>> >>> Beyond the fact that they exist in Scala, and the design goal was to >>> replicate Clojure's agents, I didn't find that especially informative. >>> >>> >>> On Tuesday, February 3, 2015 at 6:59:09 PM UTC-8, Leonardo Borges wrote: >>>> >>>> >>>>> (as opposed to the combined state+behavior version of agents that one >>>>> sees elsewhere) >>>>> >>>>> >>>> Did you mean to say actors? Actor is the abstraction that bundles state >>>> and behaviour together. >>>> >>>> Agents are different and in fact, Akka, a popular JVM actor library, >>>> provides agents in addition to actors themselves: >>>> http://doc.akka.io/docs/akka/snapshot/scala/agents.html >>>> >>>> Cheers, >>>> Leonardo Borges >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To post to this group, send email to clojure@googlegroups.com >>> Note that posts from new members are moderated - please be patient with >>> your first post. >>> To unsubscribe from this group, send email to >>> clojure+unsubscr...@googlegroups.com >>> For more options, visit this group at >>> http://groups.google.com/group/clojure?hl=en >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "Clojure" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to clojure+unsubscr...@googlegroups.com. >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.