comp.lang.ada
 help / color / mirror / Atom feed
From: <adaworks@sbcglobal.net>
Subject: Re: Separate Compilation in Programming Languages
Date: Tue, 26 Feb 2008 07:06:27 GMT
Date: 2008-02-26T07:06:27+00:00	[thread overview]
Message-ID: <TTOwj.12741$Ch6.2792@newssvr11.news.prodigy.net> (raw)
In-Reply-To: uprulnd6u.fsf@STRIPCAPStelus.net


"Ray Blaak" <rAYblaaK@STRIPCAPStelus.net> wrote in message 
news:uprulnd6u.fsf@STRIPCAPStelus.net...
>
> Maybe the disconnect is here. Are you talking about how spec changes ripple
> down, or are you talking about how body changes ripple down? Spec changes
> affect clients and bodies, both in Java in Ada. Body (implementation) do not
> affect clients that only refer to the spec, both in Java and Ada.
>
That is, indeed, the disconnect.    When a specification changes, the effect
will ripple downward.   This is not true of Ada when with clause for the
a package is deferred to the package body.    When the with clause is
at the package specification, the effect certainly does ripple downward.

With the exception of the Interface model, in Java, all signature changes
occur at a level which will have that ripple effect.   In some circumstances,
an Interface will alleviate this concern.   However, Interfaces are only
a small part of the story when designing with Java.   So, most Java
designs will incur a penalty for this inability to separate the specification
(the signature) from the implementation, thereby deferring dependencies
to the package body as we can do in Ada.

Also, the dependency model in Java can lead to some strange behaviors,
including circular dependencies.  This is one reason why tools such as
Ant, Maven, and Ivy have been invented -- to detect dependency
problems that are so easily created with standard Java.  Such problems
have the potential of disrupting the software architecture and Java
programmers realize they must be very careful about doing just that.

So. Yes.  There has been a disconnnect.   In Ada, we can defer the
dependencies to the package body, regardless of what kind of package
we are designing -- with or without Interfaces.   Java is much more
limited in this regard.

Richard Riehle 





  parent reply	other threads:[~2008-02-26  7:06 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-22 17:35 Separate Compilation in Programming Languages adaworks
2008-02-22 17:52 ` Dirk Heinrichs
2008-02-23  0:23   ` adaworks
2008-02-22 18:10 ` Ray Blaak
2008-02-22 23:53   ` adaworks
2008-02-23  1:40     ` Ray Blaak
2008-02-23  7:29       ` adaworks
2008-02-23 18:42         ` Ray Blaak
2008-02-22 18:18 ` Niklas Holsti
2008-02-23  0:14   ` adaworks
2008-02-23  7:23     ` Niklas Holsti
2008-02-23  7:31       ` Niklas Holsti
2008-02-23 16:00         ` adaworks
2008-02-23 12:27     ` Georg Bauhaus
2008-02-23 12:37   ` Dirk Heinrichs
2008-02-23 13:03     ` Niklas Holsti
2008-02-22 19:11 ` Dmitry A. Kazakov
2008-02-23  0:16   ` adaworks
2008-02-22 19:33 ` Larry Kilgallen
2008-02-22 20:47 ` Simon Wright
2008-02-22 21:27 ` Robert A Duff
2008-02-23  0:12   ` adaworks
2008-02-23 10:28     ` framefritti
2008-02-23 12:45     ` Dirk Heinrichs
2008-02-23 15:16     ` Robert A Duff
2008-02-23 16:47       ` adaworks
2008-02-23 18:47         ` Ray Blaak
2008-02-24  7:40           ` adaworks
2008-02-24  9:42             ` Ray Blaak
2008-02-24 20:41               ` adaworks
2008-02-25  2:37                 ` Ray Blaak
2008-02-25  7:06                   ` adaworks
2008-02-25 13:12                     ` Robert A Duff
2008-02-25 17:44                     ` Ray Blaak
2008-02-25 22:16                       ` Ray Blaak
2008-02-26  5:10                         ` John W. Kennedy
2008-02-26 19:08                           ` Ray Blaak
2008-02-26  7:11                         ` adaworks
2008-02-26 13:38                           ` Stephen Leake
2008-02-26 14:56                             ` adaworks
2008-02-26 19:15                               ` Ray Blaak
2008-02-26 19:13                           ` Ray Blaak
2008-02-26 21:25                             ` Ray Blaak
2008-02-27  1:15                               ` Robert A Duff
2008-02-26  7:06                       ` adaworks [this message]
2008-02-26 11:42                       ` Alex R. Mosteo
2008-02-26 15:05                         ` adaworks
2008-02-26 15:15                           ` Alex R. Mosteo
2008-02-24 17:26             ` Robert A Duff
2008-02-23 20:46         ` Robert A Duff
2008-02-24  7:31           ` adaworks
2008-02-24 17:20             ` Robert A Duff
2008-02-24 20:33               ` adaworks
2008-02-25  1:07                 ` Robert A Duff
2008-02-26  7:29                   ` adaworks
2008-02-26 19:22                     ` Ray Blaak
2008-02-27  1:58                       ` adaworks
2008-02-27 20:34                         ` Ray Blaak
2008-02-27 22:31                           ` Robert A Duff
2008-02-27 23:35                             ` Ray Blaak
2008-02-28  0:19                               ` Randy Brukardt
2008-02-28  9:18                               ` Georg Bauhaus
2008-02-29  5:57                             ` adaworks
2008-02-29  6:04                               ` Ray Blaak
2008-02-29 10:48                                 ` Alex R. Mosteo
2008-02-29 17:05                                 ` adaworks
2008-02-29 18:33                                   ` Ray Blaak
2008-02-29  6:10                           ` adaworks
2008-02-22 22:16 ` Jeffrey R. Carter
2008-02-23 13:44 ` Brian Drummond
2008-02-23 17:19   ` adaworks
2008-02-25  7:53 ` Jean-Pierre Rosen
replies disabled

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