Smalltalk is very long in the tooth these days, but it is still "rather object-oriented in good ways".
Erlang and its derivatives are fun and good to help that kind of thinking.
Even though is "old", I find it extremely valuable for learning to think and reason in a pure OO fashion.
Admittedly this does not (directly) address the issue of sending processes (which could be handled indirectly as payload.) Or am I missing the bigger picture you're driving at here?
What if you need something but don't know its name or URL? Etc.
P.S. I have found the team's work on STEPS quite thought provoking. If anyone could find the time once things settle down, it would be most appreciated if some quick docs re: how to reproduce (i.e. build) the Frank environment could be put together. (if they already exist, a pointer to them would be helpful)
Actually, this is not quite true about Smalltalk code (which is linked to its class). But referring to things is also done via variables and selectors of various kinds, and these are names which have to be locally known. Smalltalk can also find quite a few things by description (for example it can find things like the "sine function" via examples of inputs and outputs).
I really like the idea, and reading through comments this question came to my mind.
Names are important for us. They synthesize what a "thing" is, and they help us organize knowledge.
So even though it might be true that for computers names are not that important (i can describe what i want), i believe they are for us, humans, when trying to understand a given system.
We grow systems both for humans and for computers.
What's your take on this? How would you find balance between the two?