comp.lang.ada
 help / color / mirror / Atom feed
From: "John R. Strohm" <strohm@airmail.net>
Subject: Re: Crosspost: Help wanted from comp.compilers
Date: Wed, 16 Jul 2003 16:05:48 -0500
Date: 2003-07-16T16:05:48-05:00	[thread overview]
Message-ID: <bf4f1p$eve@library2.airnews.net> (raw)
In-Reply-To: 1058378673.35463@master.nyc.kbcfp.com


"Hyman Rosen" <hyrosen@mail.com> wrote in message
news:1058378673.35463@master.nyc.kbcfp.com...
> Robert I. Eachus wrote:
> > If you understood Ada, you would understand that all of the "evidence"
> > you supplied confirmes what we have said.  The issue going into the Ada
> > 9X process was that tools that tried to short-cut the Ada recompilation
> > rules were tried--and they were much worse than the problem.
>
> If you go back to my original post, you'll see that I wrote
>      the implementations were horrible, leading to frequent
>      unnecessary "recompile the world" scenarios
>
> How is that different from what you just said? Are you
> disagreeing with me that this was the case?

No, what he pointed out was that MOST of the problem that MANIFESTED as long
recompile cycles was CAUSED by poor software engineering practices.  Tools
were tried to shortcut the recompile cycles CAUSED by the underlying
software engineering problems, and those tools turned out to be far worse in
practice than it would have been to FIX THE REAL PROBLEM.

>  > Do you really understand how the GNAT "source based" model works?
>
> Yes, in fact I do.
>
> > Everytime...
>
> As some of my evidence pointed out, the compilation systems which
> caused problems appeared to use compilation timestamps in their
> dependency checking, such that simply compiling a file caused the
> system to consider it to be newer than its dependents, and thus led
> to their recompilation in a days-long cascade. I don't know why
> they did it that way, but it certainly seems clear that they did.
> Certainly Ada doesn't require that this happen, which is why I
> spoke about horrible implementations, not horrible Ada.
>
> GNAT's way means that a file is recompiled only when the source
> modules it depends on change.

Same thing.  Exactly.

Consider a package spec, that declares a procedure.  Change the procedure
spec, say, adding another parameter, and recompile.  EVERYONE WHO CALLS THAT
PROCEDURE is now by definition obsolete: their procedure calls are all
broken.  Those calls MUST be fixed, and those units MUST be recompiled.  IF
THOSE BROKEN CALLERS AREN'T FIXED, BEFORE THE SYSTEM IS LINKED, THE BUILD
WILL BE BROKEN.

Read that sentence again.

IF THOSE BROKEN CALLERS AREN'T FIXED, BEFORE THE SYSTEM IS LINKED, THE BUILD
WILL BE BROKEN.

Now, the C/C++ model is to let the programmer link anyway, and HOPE that the
broken build will be caught in lab testing BEFORE it gets loaded into the
rocket, launched into orbit, and proceeds to render a multimillion-dollar
payload so much space junk.  Or maybe it is a lifesupport system, that just
kills a few people by forgetting to pump oxygen into the breathing loop.

This may be acceptable in the C/C++ community, hey, who cares if you kill a
few grunts or waste a few million dollars, but it was not considered
acceptable in the Department of Defense embedded systems community.
Requiring recompilation is, IN THE PRESENCE OF GOOD SOFTWARE ENGINEERING, a
safety check that isn't going to cost THAT much, compared to the potential
cost of NOT recompiling.

By the way, last time I looked, all the various version of 'make' for C/C++
use compilation timestamps to determine whether something needed to be
rebuilt.  So how is Ada "worse" than C/C++ in this regard?





  reply	other threads:[~2003-07-16 21:05 UTC|newest]

Thread overview: 82+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-15  5:46 Crosspost: Help wanted from comp.compilers John R. Strohm
2003-07-15 13:30 ` Hyman Rosen
2003-07-15 14:07   ` Larry Kilgallen
2003-07-15 21:02   ` John R. Strohm
2003-07-15 23:00     ` Robert I. Eachus
2003-07-16  1:52     ` Jeffrey Carter
2003-07-16  4:45       ` John R. Strohm
2003-07-16  3:21     ` Hyman Rosen
2003-07-16 17:15       ` Robert I. Eachus
2003-07-16 17:38         ` Larry Kilgallen
2003-07-16 18:04         ` Hyman Rosen
2003-07-16 21:05           ` John R. Strohm [this message]
2003-07-16 21:23             ` Hyman Rosen
2003-07-16 23:23               ` Marin David Condic
2003-07-17  1:39                 ` Hyman Rosen
2003-07-17 12:25                   ` Marin David Condic
2003-07-17  1:48               ` Randy Brukardt
2003-07-17  2:06                 ` Hyman Rosen
2003-07-17  6:44                   ` tmoran
2003-07-17  7:59                     ` Hyman Rosen
2003-07-17 18:02                       ` tmoran
2003-07-19 16:51                     ` Richard Riehle
2003-07-20 10:38                       ` Marin David Condic
2003-07-22 20:29                     ` Simon Wright
2003-07-17  8:37                   ` tmoran
2003-07-17 14:10                     ` Larry Kilgallen
2003-07-17 18:02                       ` tmoran
2003-07-17 18:14                         ` Larry Kilgallen
2003-07-17 19:29                         ` Robert A Duff
2003-07-17 13:12                   ` Frank J. Lhota
2003-07-17 13:33                     ` Hyman Rosen
2003-07-17  4:29               ` John R. Strohm
2003-07-17  4:58                 ` Hyman Rosen
2003-07-17  6:44                   ` tmoran
2003-07-17  7:50                     ` Hyman Rosen
2003-07-17 18:02                       ` tmoran
2003-07-17 18:14                         ` Ed Falis
2003-07-17 18:35                           ` David C. Hoos
2003-07-17 19:13                             ` Ed Falis
2003-07-17 19:24                           ` Robert A Duff
2003-07-17 19:39                             ` Ed Falis
2003-07-17 20:20                               ` Robert A Duff
2003-07-17 20:31                                 ` Ed Falis
2003-07-17 19:40                           ` tmoran
2003-07-17 19:47                             ` Ed Falis
2003-07-17 21:23                               ` tmoran
2003-07-17 22:38                                 ` Ed Falis
2003-07-17  6:46                   ` Lutz Donnerhacke
2003-07-17  9:50                   ` Preben Randhol
2003-07-17 21:45                     ` Hyman Rosen
2003-07-18  1:22                       ` John R. Strohm
2003-07-18  3:15                         ` Hyman Rosen
2003-07-18  6:18                           ` John R. Strohm
2003-07-18 14:43                             ` Hyman Rosen
2003-07-19  5:25                               ` Robert I. Eachus
2003-07-20 14:42                                 ` Hyman Rosen
2003-07-20 18:46                                   ` Chad R. Meiners
2003-07-21 15:37                                     ` Hyman Rosen
2003-07-21 17:59                                       ` Chad R. Meiners
2003-07-20 23:06                                   ` Robert I. Eachus
2003-07-21 15:14                                     ` Hyman Rosen
2003-07-21 20:11                                       ` Robert I. Eachus
2003-07-22  2:19                                         ` Hyman Rosen
2003-07-22  4:54                                           ` John R. Strohm
2003-07-22  5:02                                           ` Robert I. Eachus
2003-07-22 11:53                                             ` Marin David Condic
2003-07-22 17:58                                             ` Randy Brukardt
2003-07-22 19:16                                             ` Hyman Rosen
2003-07-23  7:20                                               ` Vinzent Hoefler
2003-07-23 14:27                                                 ` Hyman Rosen
2003-07-23 15:08                                                   ` Vinzent Hoefler
2003-07-21 16:00                                     ` tmoran
2003-07-21 23:54                                       ` Robert I. Eachus
2003-07-18 11:31                           ` Larry Kilgallen
     [not found]                           ` <bf83qt$ju3@library2.airnews.netOrganization: LJK Software <lSNU7JdZau5p@eisner.encompasserve.org>
2003-07-18 14:43                             ` Robert I. Eachus
2003-07-18 11:28                         ` Larry Kilgallen
2003-07-16 23:14             ` Marin David Condic
2003-07-17  4:08               ` John R. Strohm
2003-07-17  9:42         ` Preben Randhol
2003-07-18 17:18           ` Robert I. Eachus
2003-07-18 17:42             ` Hyman Rosen
2003-07-15 21:59   ` Christopher Browne
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox