3 ms·
Does anyone know why Smalltalk never made the leap to actors?
by kuwze 8y ago
Does anyone know why Smalltalk never made the leap to actors?
- jacquesm 8y agoSmalltalk did not implement the message passing at the lowest level as an actual message between processes. It predates the actor model (which was inspired by it), which operates at a somewhat higher level than Smalltalk 'messages' do. Smalltalk at the lower levels is a lot of very elegant hacks to give an outward appearance of one mechanism while being implemented in a very different manner. That is also one of the main reasons why it works as a VM, the kind of functionality required to detect the primitives at speed so that functions can be called that do the real work is hard to implement natively in a way that it is still efficient. The top levels of Smalltalk are as elegant and simple as LISP, but under the hood Smalltalk is decidedly less elegant to make it work on the hardware available at the time. Of course none of that stops you from implementing the Actor concepts at a higher level than Smalltalk objects and there were (are?) some efforts to do just that.
- fiddlerwoaroof 8y agoI’m no expert, but didn’t Carl Hewitt’s work on Actors (1973) predate smalltalk by seven years or so? Or was there smalltalk before smalltalk-80?
- jacquesm 8y agoSmalltalk-71 perhaps? http://worrydream.com/EarlyHistoryOfSmalltalk/ http://worrydream.com/EarlyHistoryOfSmalltalk/
- ptrott2017 8y agoSmalltalk started in 1969 or so with first release inside Xerox Parc was in 1972 (Smalltalk-72). See early history of smalltalk : http://wiki.c2.com/?EarlyHistoryOfSmalltalk http://wiki.c2.com/?EarlyHistoryOfSmalltalk See Carl Hewitt's retrospective on Actors which he attributes inspiration to Smalltalk, simula and lisp here: https://arxiv.org/vc/arxiv/papers/1008/1008.1459v8.pdf https://arxiv.org/vc/arxiv/papers/1008/1008.1459v8.pdf
- tonyg 8y agoYes, exactly; also, there's an acknowledgement of the influence of "SMALL TALK" at the end of Hewitt, Bishop & Steiger's original 1973 IJCAI paper as it appeared in print (https://eighty-twenty.org/2016/10/12/hewitt-bishop-steiger-ijcai-1973 https://eighty-twenty.org/2016/10/12/hewitt-bishop-steiger-i...). Actors, Smalltalk, Monitors and CSP all co-evolved during the 1970s, with many of the principals visiting each other and exchanging ideas. Retrospectives like Brinch Hansen's (https://dl.acm.org/citation.cfm?id=155361 https://dl.acm.org/citation.cfm?id=155361) spell out some of the lines of influence.
- fiddlerwoaroof 8y agoThanks, TIL
- ptrott2017 8y agoThere have been various actor related developments in Smalltalk and others on YC will have far more knowledge :-) But Distributed Smalltalk (John Bennet et al) - late 1980's dabbled with actor like constructs. JOhn's thesis is still worth a read. Actalk originally by Jean-Pierre Briot has been around since 1989 (and has supported implementations for Squeak and Pharo thanks to Serge Stinckwich). TOny Garnock Jones - Squeak Actors (https://tonyg.github.io/squeak-actors/ https://tonyg.github.io/squeak-actors/) is (I think) the most recent implementation (and is lots of fun to use).