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=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Teaching C/C++ from Ada perspective? Date: Thu, 5 Jul 2018 13:31:16 -0500 Organization: JSA Research & Innovation Message-ID: References: <856189aa-fa00-4960-929e-174f352310ad@googlegroups.com> <2718c8d4-5f35-4fd8-a1aa-1e60069a7a5d@googlegroups.com> <39fce60c-9f56-42fb-b679-fa08810b00ee@googlegroups.com> <3701bf07-89a5-4cb0-a704-5aebb589ca79@googlegroups.com> <2f5e4ce0-94e8-4b94-9da7-045ec90a9b22@googlegroups.com> <18554067-1382-4b43-a832-2d27aa5117d7@googlegroups.com> <8dc19505-b68a-403c-a164-f1de1864f3f1@googlegroups.com> <559657f8-bbf4-4a70-9449-f85bc98d6c6b@googlegroups.com> Injection-Date: Thu, 5 Jul 2018 18:31:16 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="23732"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader02.eternal-september.org comp.lang.ada:53659 Date: 2018-07-05T13:31:16-05:00 List-Id: "Maciej Sobczak" wrote in message news:559657f8-bbf4-4a70-9449-f85bc98d6c6b@googlegroups.com... ... >Yet, the trivial update of P (like adding whitespace, which again has no >semantic meaning whatsoever) forces the recompilation of Test (with >GNAT). Actually, it forces the recompilation of everything. Why? > >There go your "semantic" devices for programming in the large. Sorry, >but even though I do understand the intent, I don't see it in practice. You need to use a "better" Ada compiler. GNAT /= Ada!!! In particular, the Rational environment from back in the day used incremental compilation techniques such that a modification to P would only cause recompilation of entities that actually depended on declarations in P. So your example of a whitespace change would cause no recompilation at all (even of P). One could make an argument that the "market" finds this entire issue irrelevant, since it seems to gravitate to C++ and Ada compilers like GNAT rather than ones like Rational. (For Janus/Ada, recompilation is fast enough that there's little value to trying to avoid recompilation in such cases -- it would be more work than it would gain time. Perhaps it would matter more in multi-million line codebases, but we don't have any such customers.) Randy.