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,912597791e813f68 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2003-01-04 10:18:31 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news.ems.psu.edu!news.litech.org!news-xfer.cox.net!p01!news2.central.cox.net.POSTED!53ab2750!not-for-mail From: Ted Dennison User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021212 X-Accept-Language: en-us, en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: advantages or disadvantages of ADA over pascal or modula References: <3E171612.E4E2972@t-online.de> In-Reply-To: <3E171612.E4E2972@t-online.de> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: Date: Sat, 04 Jan 2003 18:16:57 GMT NNTP-Posting-Host: 68.12.51.201 X-Complaints-To: abuse@cox.net X-Trace: news2.central.cox.net 1041704217 68.12.51.201 (Sat, 04 Jan 2003 13:16:57 EST) NNTP-Posting-Date: Sat, 04 Jan 2003 13:16:57 EST Organization: Cox Communications Xref: archiver1.google.com comp.lang.ada:32537 Date: 2003-01-04T18:16:57+00:00 List-Id: Alfred Hilscher wrote: > Compared to Modula-2 I see the following disadvantages: > > - No _real_ hidden export. You can define types to be "private" in your > spec, but if you want change the definition (let's say from a pointer to > a four byte hash key), you have to change the package spec (= DEFINITION > MODULE) and then recompile _all_ importing modules (although it's only > an internal change to your implementation). Actually, the difference isn't all that great. To make the type hidden in Modula-2, it has to be of a type that can fit in a register (numeric or pointer). To get the effect with record types, you have to use a pointer as the type in the interface. In Ada you can effect the same thing with access types by deferring the definition of the object they point to into the package body. All you are missing is the ability to do something similar with numeric types. Its not really *that* different.