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-Thread: 103376,aea4cc77526f5e4a X-Google-Attributes: gid103376,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!news2.google.com!news.glorb.com!newscon02.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!nlpi069.nbdc.sbc.com.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <7xJvj.7420$Ru4.4246@newssvr19.news.prodigy.net> Subject: Re: Separate Compilation in Programming Languages X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.3138 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 Message-ID: <5b9wj.4639$Mh2.1432@nlpi069.nbdc.sbc.com> NNTP-Posting-Host: 70.134.114.51 X-Complaints-To: abuse@prodigy.net X-Trace: nlpi069.nbdc.sbc.com 1203838785 ST000 70.134.114.51 (Sun, 24 Feb 2008 02:39:45 EST) NNTP-Posting-Date: Sun, 24 Feb 2008 02:39:45 EST Organization: AT&T http://yahoo.sbc.com X-UserInfo1: S[OQB\CEBZUWSSD[N[O@_WH@YR_B@EXLLBWLOOAFJYWZUYICD^RAQBKZQTZTX\_I[^G_KGFNON[ZOE_AZNVO^\XGGNTCIRPIJH[@RQKBXLRZ@CD^HKANYVW@RLGEZEJN@\_WZJBNZYYKVIOR]T]MNMG_Z[YVWSCH_Q[GPC_A@CARQVXDSDA^M]@DRVUM@RBM Date: Sat, 23 Feb 2008 23:40:23 -0800 Xref: g2news1.google.com comp.lang.ada:20038 Date: 2008-02-23T23:40:23-08:00 List-Id: "Ray Blaak" wrote in message news:u3arjcxx3.fsf@STRIPCAPStelus.net... > writes: >> Even with an interface, a la Java, once the interface is implemented, the >> children dependent on that unit will be dependent on the implementaion, >> not on the interface. > > This is not true. I can show you code if you are interested. > I think I was not clear. When a specification (interface, package specification, etc.) remains stable, the implementation is not as much of a factor as changes in the specification. When one specification is dependent on another, a change to the parent specification will require recompiling all of the dependent specifications. When the effect of the specification is deferred to the implementation level, none of the other specifications should have to be compiled. This is quite easy to do in Ada. When the dependencies are deferred to the implementation module (an Ada package body) a change to a parent specification requires only that body to be recompiled. When the specification is at the level of another specification, and a change is made to a higher level unit, everything needs to be recompiled. I think this is as true of Java as it is of Ada. The only difference is that Ada allows one to defer the dependency to the package body. This does not seem to be true of Java. I hope I am more clear. If not, perhaps someone can state it more clearly than I since it is a pretty simple idea. Richard Riehle