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!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 1204009901 ST000 70.134.112.39 (Tue, 26 Feb 2008 02:11:41 EST) NNTP-Posting-Date: Tue, 26 Feb 2008 02:11:41 EST Organization: SBC http://yahoo.sbc.com X-UserInfo1: TSU[@SBEQJV]SQ@[EZOD]_\@VR]^@B@MCPWZKB]MPXHZUYICD^RAQBKZQTZTX\_I[^G_KGFNON[ZOE_AZNVO^\XGGNTCIRPIJH[@RQKBXLRZ@CD^HKANYVW@RLGEZEJN@\_WZJBNZYYKVIOR]T]MNMG_Z[YVWSCH_Q[GPC_A@CARQVXDSDA^M]@DRVUM@RBM Date: Tue, 26 Feb 2008 07:11:41 GMT Xref: g2news1.google.com comp.lang.ada:20077 Date: 2008-02-26T07:11:41+00:00 List-Id: "Ray Blaak" wrote in message news:ulk58of6r.fsf@STRIPCAPStelus.net... > Ray Blaak writes: >> > Perhaps. But I still don't see how one can defer the dependency of a >> > Java signature to the implementation of the Java class and prevent >> > the need for recompiling the entire architecture when the signature of >> > a parent class changes. >> >> 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. > > It also occurs to me to wonder if you were assuming the Java interface and > implementation are in the same file. If so, the issues you say would indeed > happen. > > But usually the interface and its implementations are in separate files, as > per the usual Java rule of one class per file. That separation is what allows > Java to have separate compilation. > But only for Interface-based designs. Further, the implementation of the Interface, with its extended signature is in the same file with the algorithmic code. This is significantly different from how we design in Ada where the implementation code (package body) is kept separate from the specification. Also, if the signature of the Interface changes, everything dependent on that signature will also have to change. And everything dependent on that Interface implementation will have to change. The ripple-effect will occur since most of a Java design is not based on Interfaces, and that is the problem with inability to defer dependencies as we can in Ada. Richard Riehle > -- > Cheers, The Rhythm is around me, > The Rhythm has control. > Ray Blaak The Rhythm is inside me, > rAYblaaK@STRIPCAPStelus.net The Rhythm has my soul.