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