> [syntax] calls out specifically the object that is to
> receive the message. I would consider a recipient-first parameter
> ordering to be just as useful for that.
The dogmatic insistence that "You never perform procedures, you only send
messages to objects" is in opposition to the OO fanatics' claim that OO
"more accurately reflects the real world" What is so realistic about
sending a message to the object "Two" that it should add another Two to
itself to get Four?
In situations where that paradigm truly is meaningful, nothing stops you from
procedure Send_Message_Requesting_Service_X (To_Object : in out Object;
With_Parameters : ..... );
which can be called, for readability
My_Object : Class.Object;
Class.Send_Message_Requesting_Service_X (With_Parameters => ....,
To_Object => My_Object);
If the paradigm is sometimes useful in an Ada application, use the Ada
version where it applies. But if the (non-Ada) paradigm is so important
that you can't tolerate any deviation, then use Java or Eiffel or ......
I think new pragmas to enforce a particular non-Ada-like style are not
wise. If it takes three pragmas to do it, and three for the next guy's
non-Ada-like style, and three for the next style idea, and ....
Better to just write an ASIS tool (or employ a very talented proofreader)
that suits your needs.
One of my favorite examples of wierdness was something like:
with LISP; use LISP;
procedure xxxxxx is
-- thing that looks like a LISP program,
-- only all the parens are doubled