Re: Status of Strongtalk C++ code: VM stability and progress on a graphical debugger
| Newsgroups | gmane.comp.lang.smalltalk.strongtalk |
|---|---|
| Message-ID | <69d1d8f4-182b-4eac-b304-6e8289aff027@f63g2000hsf.googlegroups.com> |
Hi Gilad >Erlang > uses an actor model. Each actor (Process in Erlang) has its own thread of > control, but they communicate only via asynchronous message passing. No > state is shared among actors - only stateless values are passed among them. > It's much easier and more natural to program with. When I first came across objects (1990) this is exactly how I thought objects worked. Sending asynchronous messages to concurrent processes. This made sense to me coming from a embedded background where I was use to asynchronous queues and concurrent processes. The when I looked into OO code (C++) I realised that there weren't any messages, and everything was synchronous. Reading Grady Booch (Object Orientated Analysis and Design with Applications) convinced me that I was wrong and Bjarne Stroustrup was right. Objects have nothing to do with messages, all you need is a vtable :) It took the discovery of Smalltalk to realise that I was right about messages, and the discovery of Erlang to realise that I was right about concurrency too :) Now I can't be the only one out there that has had this experience of having to unlearn their own intuition. Objects are intuitive, yet the popular form of OO and the concurrency model in which it is used are both anti-intuitive. If anyone can realise these simple intuitive ideas in a production quality environment then I am sure it would have wide spread appeal. Paul. (A long suffering Java programmer :)) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Strongtalk-general" 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/strongtalk-general?hl=en -~----------~----~----~----~------~----~------~--~---