TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Condense Mail Headers

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

Print Reply
"Team Ada: Ada Advocacy Issues (83 & 95)" <[log in to unmask]>
"W. Wesley Groleau x4923" <[log in to unmask]>
Wed, 25 Nov 1998 13:52:30 -0500
"W. Wesley Groleau x4923" <[log in to unmask]>
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

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
end xxxxxx;