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!news2.google.com!news.glorb.com!newsfeed2.telusplanet.net!newsfeed.telus.net!edtnps82.POSTED!53ab2750!not-for-mail Sender: blaak@METROID Newsgroups: comp.lang.ada Subject: Re: Separate Compilation in Programming Languages References: 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: Sat, 23 Feb 2008 01:40:24 GMT NNTP-Posting-Host: 154.20.96.87 X-Trace: edtnps82 1203730824 154.20.96.87 (Fri, 22 Feb 2008 18:40:24 MST) NNTP-Posting-Date: Fri, 22 Feb 2008 18:40:24 MST Xref: g2news1.google.com comp.lang.ada:20010 Date: 2008-02-23T01:40:24+00:00 List-Id: writes: > The issue is about dependencies. When the class definition and the > class implementation are in the same file, any dependent units will > have to be compiled when there is a change in that file. I don't > see any capability for managing this kind of dependency in Java. In practice it's not an issue. Compilation is cheap. But there is a way to manage explicit dependencies: express the public facing APIs in terms of interfaces with implementation classes that truly hide the actual implementation. This gives a strict separation that gives you the control you were looking for. Whether that is as convenient or not as Ada is another debate. The issue is simply not that serious, partially due to Java's dynamic loading abilities. I can drop a new version in of my library JAR in somewhere, and if the public API signatures have not actually changed I do not in fact need to recompile. In practice however, you do, because it's easy and it catches any unexpected API changes. But one was still doing "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.