TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
"W. Wesley Groleau x4923" <[log in to unmask]>
Wed, 25 Nov 1998 13:52:30 -0500
text/plain (47 lines)
> [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
defining

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

begin
   -- thing that looks like a LISP program,
   -- only all the parens are doubled
  ;
end xxxxxx;

ATOM RSS1 RSS2