bagpiper@mcosm.uucp (05/25/90)
I basically agree with Mr. Hannum...I just want to correct his misconception that you can't do cast-like operations in Ada....you just can't do them very efficiently!! (no flames please, many Ada implementation don't handle generics very well...) In article <2426@psuhcx.psu.edu>, hannum@schubert.psu.edu (Charles Hannum) writes: > To settle some of the flame wars from Ada, Lisp, and Pascal lovers against the > C language, I quote some paragraphs from the introduction to "The C Programming > Language" by Brian W. Kernighan and Dennis M. Ritchie below: > [stuff deleted] > of incompatible data types. Nevertheless, C retains the basic philosophy that > programmers know what they are doing; it only requires that they state their > intentions explicitly." > > Pay careful attention to that last sentence. This is the basic philosophical > difference between C and [Ada,Pascal,...]. C allows you to do funny type cast- > ing, as long as you state it explicitly. [Ada,Pascal,...] does not. In the > hands of an idiot, this is dangerous. In the hands on an experienced and > knowledgable programmer, this is a powerful tool. You can do cast like operations in Ada. Check out the predefined generic UNCHECKED_CONVERSION. There are also a few other places where Ada seems to have lower level features then c. Some of the representation attributes are hard to copy in c. Of course the other day I was trying to write a minimal debugger in Ada and just about killed myself for some way to represent a generic pointer (void *). Oh well.... [more stuff deleted] > Virtually, > - Charles Martin Hannum II PennMUD Design Team - (Resident) Programmer > (That's Charles to you!) "Those who say a thing cannot be done should > Please send mail to: under no circumstances stand in the way of > hannum@haydn.psu.edu he who is doing it." - a misquote Later, Michael P.S. I am no receiving comp.lang.ada yet (I'm working on it), so if someone in comp.lang.ada has something to say, please mail it. ------------------------------------------------------------------------------- + Michael Hunter {backbone}!hacgate!trwind!mcosm!bagpiper + + BIX:bagpiper + + NOTHING like a spacecraft with a bad attitude!!! + -------------------------------------------------------------------------------
kassover@jupiter.crd.ge.com (David Kassover) (05/25/90)
>In article <2426@psuhcx.psu.edu>, hannum@schubert.psu.edu (Charles Hannum) writes: || To settle some of the flame wars from Ada, Lisp, and Pascal lovers against the || C language, I quote some paragraphs from the introduction to "The C Programming || Language" by Brian W. Kernighan and Dennis M. Ritchie below: || |[stuff deleted] || of incompatible data types. Nevertheless, C retains the basic philosophy that || programmers know what they are doing; it only requires that they state their || intentions explicitly." Well and good. But the *users* don't know what the programmer was doing. For that matter, the programmer doesn't know what the current implementation or port is doing to the program (or the user) 8-) I would think that if someone wanted to build a sharp tool, one would also want to keep the edges away from the handles. IMO, Ada helps this more than C does. -- David Kassover "Proper technique helps protect you against kassover@ra.crd.ge.com sharp weapons and dull judges." kassover@crd.ge.com F. Collins