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!news.glorb.com!newsfeed2.telusplanet.net!newsfeed.telus.net!edtnps90.POSTED!53ab2750!not-for-mail Sender: blaak@METROID Newsgroups: comp.lang.ada Subject: Re: Separate Compilation in Programming Languages References: <7xJvj.7420$Ru4.4246@newssvr19.news.prodigy.net> <5b9wj.4639$Mh2.1432@nlpi069.nbdc.sbc.com> From: Ray Blaak Message-ID: Organization: The Transcend User-Agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Sun, 24 Feb 2008 09:42:27 GMT NNTP-Posting-Host: 154.20.96.87 X-Trace: edtnps90 1203846147 154.20.96.87 (Sun, 24 Feb 2008 02:42:27 MST) NNTP-Posting-Date: Sun, 24 Feb 2008 02:42:27 MST Xref: g2news1.google.com comp.lang.ada:20040 Date: 2008-02-24T09:42:27+00:00 List-Id: writes: > 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. No, not necessarily. It is quite possible that the only an implementation was client of the changed spec, and that the change's effects do not perculate out. That is, the change is not transitive. > 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. The deferral to a package body is precisely equivalent to the deferral to another implementation class. The implementation class is (or can be) private, hidden in exactly the same way the body of a package is. That is what allows Java interfaces to serve as equivalent controls for separate compilation as Ada's package bodies. Mind you, they're not necessarily as convenient, mind you, but I am objecting only to the notion that Java does not support separate compilation. -- 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.