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!news3.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!feeder.news-service.com!newsfeed.freenet.de!bolzen.all.de!newsfeed.ision.net!newsfeed2.easynews.net!ision!citadel.nobulus.com!newsfeed1.fi.sn.net!fi.sn.net!newsfeed2.fi.sn.net!news.song.fi!not-for-mail Date: Sat, 23 Feb 2008 09:23:45 +0200 From: Niklas Holsti User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20060628 Debian/1.7.8-1sarge7.1 X-Accept-Language: en MIME-Version: 1.0 Newsgroups: comp.lang.ada Subject: Re: Separate Compilation in Programming Languages References: <47bf11df$0$14990$4f793bc4@news.tdc.fi> In-Reply-To: Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Message-ID: <47bfc5d4$0$21890$4f793bc4@news.tdc.fi> Organization: TDC Internet Services NNTP-Posting-Host: laku61.adsl.netsonic.fi X-Trace: 1203750356 news.tdc.fi 21890 81.17.205.61:32790 X-Complaints-To: abuse@tdcnet.fi Xref: g2news1.google.com comp.lang.ada:20012 Date: 2008-02-23T09:23:45+02:00 List-Id: adaworks@sbcglobal.net wrote: > "Niklas Holsti" wrote in message > news:47bf11df$0$14990$4f793bc4@news.tdc.fi... > >>adaworks@sbcglobal.net wrote: >> >> >>>Do you still use the "is separate" feature in a package body? >> >>I never use it. My subprograms are rarely long enough to make it useful (given >>that there is no compilation-speed advantage under GNAT), and I seldom use >>nested packages. >> > > Thanks. The issue is not compilation speed, nor even size of the > source code. Rather, the real benefit of Ada's separate compilation > model is the management of dependencies. I understand this point -- in theory. In practice, although I do worry about dependencies in general, I haven't seen cases where "is separate" would have been very useful, in my opinion. True, often only some parts (subprograms) of a large package body depend on some given other package, and other parts do not, but it is rare for this selective dependency to apply to only one subprogram in the package. If there are, say, three subprograms in package A that depend on package B, and I make these three subprograms "separate" to remove the "with B" clause from A, I now have three "with B" clauses in three different source-code files, instead of the one clause in the body of A. The dependencies are more specific, good, but also there are more dependencies (and more source-code files), not so good. By YMMV. -- Niklas Holsti Tidorum Ltd niklas holsti tidorum fi . @ .