[net.lang] ADA

mark@cbosgd.UUCP (Mark Horton) (10/19/83)

Ada would be a nice language, if only you could get a compiler, and if only
it had useable I/O.  I haven't programmed in Ada, but I have programmed in
Simula, which also forces you to call a separate procedure for each variable
or constant you want to write out.  Essentially to do
	printf("A is %s, B is %d\n", A, B);
in such a language you are forced to type
	outstr("A is ");
	outstr(A);
	outstr(", B is ");
	outint(B);
	outline();
which gets real old real quick.

Not that printf is the best thing since sliced bread.  For such debugging,
I always liked PL/1's "put data" construct:
	put skip data(A, B);

barmar@mit-eddie.UUCP (Barry Margolin) (10/20/83)

as no way to specify procedures which take a variable
number of arguments or whose arguments may be of any type.  On Multics
we have extended the PL/I language to allow this:
	declare ioa_ entry options (variable);
It is probably against Ada philosophy to add such an extension, though.
-- 
			Barry Margolin
			ARPA: barmar@MIT-Multics
			UUCP: ..!genrad!mit-eddie!barmar

bhaskar@fluke.UUCP (K.S. Bhaskar) (10/21/83)

As a follow-up comment to Mark Horton's, I think that the issue of calling a
procedure for each variable (as opposed to a single call to something like
printf) is one of purity vs. expediency.  However, one language I know of
steers an in-between course as follows:  a function can be declared as
f(a,b,c) where c can be declared a repeatable parameter.  Then, a call like
f(p,q,r,s,t) is (almost) equivalent to f(p,q,r); f(p,q,s); f(p,q,t) -- the
difference is that p and q are evaluated just once (which makes the almost
equivalence even better than full equivalence).  This language is Mainsail.

{allegra,lbl-csam,microsoft,sb1,uw-beaver}!fluke!bhaskar

mat@hou5d.UUCP (10/25/83)

As to I/O functions that take/do not take a variable number of arguments ...
there is nothing in ADA to keep you from creating an type that contains an
I/O record and a ``pointer'' (access type) to another such object, then
using the ability to define functions with names like "+" that concatenate
such objects.  The I/O request list could be passed to a list-printing 
proceedure which would in turn call a printing proceedure for each object
in the list ... .  I don't deny that there may still be some problems in
that you have to play discriminant games, but the idea is feasible.

					Mark Terribile
					DOdN

jos@anwar.UUCP (John Schneider) (04/12/85)

________________________________________________________________________________

I for one have read a number of ada books, programed with 3 different ada
compilers on 2 different operating system (VMS and UNIX) and I also
think that 

			ADA SUCKS!!!!
________________________________________________________________________________

After reading reviews on ADA like the above, it seems to me that all of
them have negative attitudes. I have yet to read any comments that address 
the real issues behind ADA. The authors of these reviews would probably
benefit from reading a book on object oriented programming. The real issue
behind ADA is that it supports a static implementation of object oriented
programming for general von Neumann architectures, not that the DoD has 
mandated its use. (Other such languages are Modula II, Mainsail and Smalltalk).
It is clear that ADA can support a highly abstract method of software 
implementation, while is is not so clear that other common block-structured
languages do more than offer data-structuring and simple run-time and type
checks.

It may prove true that the learning curve for efficient use of ADA and
languages like it will be steep, but that is no reason to be closed minded
about using an object oriented approach to programming. I would appreciate
any net discussion on software and hardware approaches to object oriented
programming. 

					John Schneider
					{decvax,alegra}!philabs!hhb!jos

friesen@psivax.UUCP (Stanley Friesen) (04/18/85)

In article <151@anwar.UUCP> jos@anwar.UUCP (John Schneider) writes:
>
>
>After reading reviews on ADA like the above, it seems to me that all of
>them have negative attitudes. I have yet to read any comments that address 
>the real issues behind ADA. The authors of these reviews would probably
>benefit from reading a book on object oriented programming. The real issue
>behind ADA is that it supports a static implementation of object oriented
>programming for general von Neumann architectures, not that the DoD has 
>mandated its use. (Other such languages are Modula II, Mainsail and Smalltalk).
>It is clear that ADA can support a highly abstract method of software 
>implementation, while is is not so clear that other common block-structured
>languages do more than offer data-structuring and simple run-time and type
>checks.

	Ah, but I do not object to an object oriented language
as such, *if* it has a reasonable implementation of the concept.
My objection to Ada is *not* its object-orientation, it is its
implimentation. It is an overly verbose, over-featured, kitchen-sink
language. In fact it has all the *worst* features of PL/I and Cobol.
Modula II is better, in fact almost livable, if it were not
quite so much like an enhanced Pascal(tho it does address most of my
objections to Pascal). I have not yet had a chance to really look at
Smalltalk-80, it might have the flexibility and simplicity I want in
a language.  Where do I get a book on Mainsail, I have never seen any?
-- 

				Sarima (Stanley Friesen)

{trwrb|allegra|cbosgd|hplabs|ihnp4|aero!uscvax!akgua}!sdcrdcf!psivax!friesen
or {ttdica|quad1|bellcore|scgvaxd}!psivax!friesen

pete@umich.UUCP (Peter Lee) (04/25/85)

I don't know why this happens, but everyone always seems to forget
about the programming language Simula when discussing static object-
oriented programming languages.  To my mind, Simula has all of the
advantages of object-orientation that Ada provides, while at the
same time avoiding many difficult (and largely unnecessary) features.

If we're discussing object-oriented PLs, let's please include
Simula and exclude Modula-2 -- it can hardly be counted as an OO PL!

				Peter Lee