From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,57f23cc4dd455d6c X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 1995-01-24 12:09:37 PST Newsgroups: comp.lang.ada Path: pad-thai.cam.ov.com!bloom-beacon.mit.edu!world!bobduff From: bobduff@world.std.com (Robert A Duff) Subject: Re: C++ Envy Message-ID: Organization: The World Public Access UNIX, Brookline, MA References: <3f2tbv$r5o@miranda.gmrc.gecm.com> <3frte2$re5@cronkite.seas.gwu.edu> <3g0evo$1h2@borage.csv.warwick.ac.uk> Date: Tue, 24 Jan 1995 18:56:58 GMT Date: 1995-01-24T18:56:58+00:00 List-Id: In article <3g0evo$1h2@borage.csv.warwick.ac.uk>, Jules wrote: >The original point of this thread was that you don't actually have to change >the header file itself to change its meaning in C/C++. True, but this seems like a minor point to me. No language can protect against blatantly irresponsible coding tricks. Languages should instead try to prevent problems that happen by accident, as most bugs do. How could you accidentally use the trick being discussed? Anyway, the same is true of Ada: you don't have to change an Ada library package in order to access its private data, and thereby change its meaning. You can, for example, use Unchecked_Conversion for that purpose. Or, you can simply write a child unit. But neither of those can be done by accident. - Bob