From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: Ada OOP alternatives?
Date: Fri, 18 Jul 2008 08:54:54 -0400
Date: 2008-07-18T08:54:54-04:00 [thread overview]
Message-ID: <wcc1w1rpd29.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 138raucqw95gm.4bnfy7y43il7$.dlg@40tude.net
"Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de> writes:
> I used to review C code that packed almost 80% of executable code in the
> header files... (:-))
What fun! ;-)
>> I want separate specs and bodies, not for the compiler's benefit, but
>> for the programmer's benefit. I want to be able to read a concise spec,
>> without having to wade through the entire body.
>
> There are two problems with that. The first one is that the difference is
> not obvious. Why legality check is less than "full compilation", so that
> the delta cannot be left for the binder/linker. The second one is that if
> the delta is sufficient, then the reader should probably become aware of
> it. In short, it is difficult to drive a margin.
I don't understand. To (e.g.) determine whether a procedure call is
legal, you need to know its name, parameter types, etc. (Whether "you"
is the human or the compiler.) To generate code, you need to know more
-- which register to put the parameter in, etc -- and if inlined, what
code is in the body.
>> The compiler should check legality without looking at other bodies. But
>> it should look at bodies when generating code (at least if optimization
>> is turned on).
>
> But what would you do with dynamically linked libraries, remote partitions
> and other lately bound stuff?
I don't see what that has to do with organization of the source code.
These things are implemented using "extra" levels of indirection at run
time. E.g. you can't very will inline a call in an executable, and then
expect that updating a shared library used by that executable will
update the call by magic. So don't inline across such boundaries.
>... I think that the time of monolithic systems
> is gone.
I don't think so. Certainly some embedded systems are monolithic,
and should be.
- Bob
next prev parent reply other threads:[~2008-07-18 12:54 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-07-15 20:38 Ada OOP alternatives? raould
2008-07-16 0:15 ` Robert A Duff
2008-07-16 6:33 ` Georg Bauhaus
2008-07-16 9:54 ` Alex R. Mosteo
2008-07-16 13:03 ` Dmitry A. Kazakov
2008-07-16 14:07 ` Robert A Duff
2008-07-16 18:11 ` (see below)
2008-07-17 0:05 ` Robert A Duff
2008-07-17 0:43 ` (see below)
2008-07-17 1:36 ` Robert A Duff
2008-07-17 11:07 ` (see below)
2008-07-17 16:45 ` Robert A Duff
2008-07-17 12:00 ` Dmitry A. Kazakov
2008-07-17 16:50 ` Robert A Duff
2008-07-17 18:56 ` Dmitry A. Kazakov
2008-07-18 12:54 ` Robert A Duff [this message]
2008-07-18 13:36 ` Dmitry A. Kazakov
2008-07-17 23:27 ` Randy Brukardt
2008-07-18 12:45 ` Robert A Duff
2008-07-18 23:22 ` Randy Brukardt
2008-07-22 20:32 ` Adam Beneschan
2008-07-22 22:18 ` Ludovic Brenta
2008-07-23 9:25 ` Alex R. Mosteo
2008-07-22 23:35 ` Randy Brukardt
2008-07-23 7:56 ` Dmitry A. Kazakov
2008-07-23 21:04 ` Robert A Duff
2008-07-24 7:07 ` stefan-lucks
[not found] ` <5ob7w7usrc74$.kms2e1vqs4k0.dlg@40tude.net>
[not found] ` <48883529$0$18826$9b4e6d93@newsspool2.arcor-online.net>
[not found] ` <ygdmhl22lzh4$.1dx98hja6p2o6.dlg@40tude.net>
[not found] ` <48883f41$0$18829$9b4e6d93@newsspool2.arcor-online.net>
[not found] ` <6i1s0y8eeka.121ek9qcgunha$.dlg@40tude.net>
[not found] ` <48885757$0$18818$9b4e6d93@newsspool2.arcor-online.net>
2008-07-24 12:48 ` Dmitry A. Kazakov
2008-07-25 8:47 ` Georg Bauhaus
2008-07-25 13:28 ` Dmitry A. Kazakov
2008-07-25 16:24 ` Georg Bauhaus
2008-07-25 17:55 ` Dmitry A. Kazakov
2008-07-26 5:05 ` Jeff Koftinoff
2008-07-16 14:03 ` Robert A Duff
2008-07-16 14:29 ` Dmitry A. Kazakov
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox