Messages

It does not make a whole lot of sense to think of a Traversal without a Traveller. In Smalltalk, travellers move around by means of messages. Let’s explore this further.

What is the meaning of requiring that every message has an answer? If we see the process triggered by sending a message as a traversal through a Circuit, then sending a message is some sort of evaluation of the circuit. Asking that every message has an answer is equivalent to requiring that every circuit can be evaluated. This, already, has far reaching consequences.

[…]

~

The basic idea behind exception handling is that client code does not clutter the main logic flow with checks for error codes, […]

> […] the consequence of adding exceptions into a language: *we can no longer be sure that a message send will give us an answer*. In other words, once we have exceptions, any message send has the potential not to return to the sender: it may fail.

~

To begin with, a process can be seen as a series of nested circuit evaluations, because each message send represents the local intent to evaluate.

Processes end when they are completely evaluated. Essentially all of the Smalltalk processes that run are spawned in response to the virtual machine receiving a signal. But this is not all that can occur. It is entirely possible for these externally triggered processes to spawn internal processes that, unlike them, never produce a value. Here is an example.

[…]

[…]

~

Alan Kay Turing Award Lecture (2004) page > […] "wow, it's all about messages." The reason it's about messages and not about objects so much is that the messages are the abstractions. We spend far too much time in our field worrying about what the objects are.

Communication and collaboration is based upon exchange of polymorphic messages rather than exchange of "executable" code (DNA/RNA in the case of biological cells, machine code in the case of computing. Only the specialized cell can know what behavior to invoke given a certain message. page

What is message passing?

Alan Kay's Turing Award Lecture ends with a demo that shows the drive-a-car thing – a fascinating exploration of object oriented programming, a fulfillment of his expression that "everything is an object."

* See also Computer Science and Its Relation to Mathematics * You have to understand what the actual scope of computing is going to be and you have to help us invent it. (Replace "computing" by "digital humanities".) * Two Dimensions of "Primary Motivations" – 13:36 / 1:07:51: Reasoning & Change – 95% Instrumental reasoners and 5% interested in Ideas. * Literacy – 30:15 * Advance Organizer, big picture