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!news4.google.com!out03a.usenetserver.com!news.usenetserver.com!in02.usenetserver.com!news.usenetserver.com!in03.usenetserver.com!news.usenetserver.com!newshub.sdsu.edu!newscon04.news.prodigy.net!prodigy.net!newsdst01.news.prodigy.net!prodigy.com!postmaster.news.prodigy.com!newssvr11.news.prodigy.net.POSTED!4988f22a!not-for-mail From: Newsgroups: comp.lang.ada References: <7xJvj.7420$Ru4.4246@newssvr19.news.prodigy.net> <5b9wj.4639$Mh2.1432@nlpi069.nbdc.sbc.com> <5Ekwj.10401$0o7.6822@newssvr13.news.prodigy.net> <%Ntwj.12620$Ch6.11402@newssvr11.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: NNTP-Posting-Host: 70.134.112.39 X-Complaints-To: abuse@prodigy.net X-Trace: newssvr11.news.prodigy.net 1204009587 ST000 70.134.112.39 (Tue, 26 Feb 2008 02:06:27 EST) NNTP-Posting-Date: Tue, 26 Feb 2008 02:06:27 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: TSU[@IONTBWQR]TX\ZIBNFXBWR\HPCTL@XT^OBPLAH[\RWYAKVUOPCW[ML\JXUCKVFDYZKBMSFX^OMSAFNTINTDDMVW[X\THOPXZRVOCJTUTPC\_JSBVX\KAOTBAJBVMZTYAKMNLDI_MFDSSOLXINH__FS^\WQGHGI^C@E[A_CF\AQLDQ\BTMPLDFNVUQ_VM Date: Tue, 26 Feb 2008 07:06:27 GMT Xref: g2news1.google.com comp.lang.ada:20076 Date: 2008-02-26T07:06:27+00:00 List-Id: "Ray Blaak" wrote in message news:uprulnd6u.fsf@STRIPCAPStelus.net... > > Maybe the disconnect is here. Are you talking about how spec changes ripple > down, or are you talking about how body changes ripple down? Spec changes > affect clients and bodies, both in Java in Ada. Body (implementation) do not > affect clients that only refer to the spec, both in Java and Ada. > That is, indeed, the disconnect. When a specification changes, the effect will ripple downward. This is not true of Ada when with clause for the a package is deferred to the package body. When the with clause is at the package specification, the effect certainly does ripple downward. With the exception of the Interface model, in Java, all signature changes occur at a level which will have that ripple effect. In some circumstances, an Interface will alleviate this concern. However, Interfaces are only a small part of the story when designing with Java. So, most Java designs will incur a penalty for this inability to separate the specification (the signature) from the implementation, thereby deferring dependencies to the package body as we can do in Ada. Also, the dependency model in Java can lead to some strange behaviors, including circular dependencies. This is one reason why tools such as Ant, Maven, and Ivy have been invented -- to detect dependency problems that are so easily created with standard Java. Such problems have the potential of disrupting the software architecture and Java programmers realize they must be very careful about doing just that. So. Yes. There has been a disconnnect. In Ada, we can defer the dependencies to the package body, regardless of what kind of package we are designing -- with or without Interfaces. Java is much more limited in this regard. Richard Riehle