Object-Verb vs. Verb-Object

Do we specify the object first or the verb—the operation or the operand? In C++, Java or JavaScript we say “Joe.ask("Please");” thus identifying the operand, Joe, and then the operation, ask. In Keykos you identify the operand, or Keykos object, and send a message which includes the operation.

Programs in Capsicum, for clear reasons, specify the operation first. That way many system calls programmed with no notion of capabilities will work without modification and indeed perform according to capability discipline. Nonetheless there are ramifications.

In the message metaphor, the message mechanisms is unconcerned with the operation for that may interpreted only by the code the defines the behavior of the invoked message. The messenger must gather the message, identify the recipient and deliver the message—the operation is merely a part of the message with little or nothing to delineate it from other data in the message.