From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: Self pointer in limited record
Date: Tue, 4 Sep 2007 10:24:36 +0200
Date: 2007-09-04T10:24:10+02:00 [thread overview]
Message-ID: <c4u6ubr36zfq$.57qadcwz6u79.dlg@40tude.net> (raw)
In-Reply-To: 1188851929.2630.85.camel@kartoffel.vocalweb.de
On Mon, 03 Sep 2007 22:38:49 +0200, Georg Bauhaus wrote:
> On Mon, 2007-09-03 at 16:17 +0200, Dmitry A. Kazakov wrote:
>> On Mon, 03 Sep 2007 12:51:14 +0200, Georg Bauhaus wrote:
>>
>>> On Mon, 2007-09-03 at 09:53 +0200, Dmitry A. Kazakov wrote:
>>>> On Sun, 02 Sep 2007 23:37:33 +0200, Georg Bauhaus wrote:
>>>>
>>>>> Suppose every package is reusable.
>>>>
>>>> That's the goal.
>>>
>>> Why?
>>
>> In order to get a better understanding of the problem and solution.
>
> What, exactly, is the improvement in understanding
> a given problem that involves one House and one Barn? The fact
> that by way of scholastic sophistication we can think
> of all kinds of combinations of many Barns, or Houses?
> What is the gain in coming up with types summarizing
> things that just are not present in the problem domain?
Wow, are you arguing against understanding or just against reuse and
refactoring (used in order to achieve it)?
> Should we have to rewrite the descriptions of our models
> until the goal of achieving all-package-reusability
> can be reached?
Yes, this is a part of normal software developing / evolving cycle. Or do
you have write-once applications in mind?
> (I know that programming just a little more than what is
> necessary for solving the given problem can be beneficial.
> The solution may gradually become much less simple, though.
> Difficult to understand, that is!)
Abstraction, normally reduces, complexity, provided that a better
understanding was indeed achieved...
>>> The "abstract state machines" kind of package (as opposed
>>> to those packages framing an "abstract data type") do work well
>>> in Ada program without a type parameter; it doesn't carry
>>> any additional information of spectacular use.
>>
>> It is difficult to see how an abstract state machine is not a type.
>
> Ada type or DK type?
> Certainly packages can have seen to have "qualities" that Ada
> types happen to have as well, e.g. exposing an "interface" in
> the non-Ada sense of the word. A singleton will have this kind of
> interface. A type defined in the corresponding package changes
> little in this regard.
I don't follow you. There are five things, all different:
1. Abstract data type
2. Package
3. Singleton
4. State machine
5. Abstract state machine
I don't see why you take for granted that 2 = 4 or 5. Package is not a
state machine, at least if you don't want to reduce everything to machine
code. Even less is it an abstract state machine.
> Can I use a package declared within a procedure as a match for a
> problem domain object?
Packages are not for modeling individual objects.
> It seems quite reasonable to me to do so
> when a local package is an easy way to deal with lifetime,
> modularization, and visibility at the same time.
Nonsense. When you want to use a package as a model of something, then all
your words about lifetime, modularization, being local etc become
meaningless. These are solution-specific properties irrelevant to the thing
being modeled. You have to talk about the domain problem properties. Which
properties of the domain are modeled by a package? Solve at least one
*domain* problem using a package, only package and nothing but package.
See?
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
next prev parent reply other threads:[~2007-09-04 8:24 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-04 19:31 Self pointer in limited record Maciej Sobczak
2007-07-05 8:22 ` Dmitry A. Kazakov
2007-07-05 10:35 ` Maciej Sobczak
2007-07-05 11:01 ` Pascal Obry
2007-07-05 11:14 ` Georg Bauhaus
2007-07-05 12:36 ` Dmitry A. Kazakov
2007-08-31 16:47 ` amado.alves
2007-08-31 17:09 ` Pascal Obry
2007-08-31 17:37 ` Adam Beneschan
2007-08-31 18:26 ` Jeffrey R. Carter
2007-08-31 19:33 ` Dmitry A. Kazakov
2007-09-01 13:33 ` Georg Bauhaus
2007-09-01 13:46 ` Dmitry A. Kazakov
2007-09-01 14:15 ` Georg Bauhaus
2007-09-01 16:03 ` Dmitry A. Kazakov
2007-09-01 19:49 ` Georg Bauhaus
2007-09-01 20:09 ` Dmitry A. Kazakov
2007-09-02 21:37 ` Georg Bauhaus
[not found] ` <re7ei5lc7dzf$.11qtcnh35jmzg$.dlg@40tude.net>
2007-09-03 10:51 ` Georg Bauhaus
2007-09-03 14:17 ` Dmitry A. Kazakov
2007-09-03 15:55 ` Jean-Pierre Rosen
2007-09-03 19:17 ` Dmitry A. Kazakov
2007-09-03 19:32 ` Markus E L
2007-09-03 20:14 ` Georg Bauhaus
2007-09-04 8:24 ` Dmitry A. Kazakov
2007-09-04 9:36 ` Jean-Pierre Rosen
2007-09-04 10:14 ` Dmitry A. Kazakov
2007-09-05 10:49 ` Georg Bauhaus
2007-09-05 12:04 ` Dmitry A. Kazakov
2007-09-05 13:12 ` Jean-Pierre Rosen
2007-09-05 15:10 ` Dmitry A. Kazakov
2007-09-05 16:25 ` Jean-Pierre Rosen
2007-09-05 19:52 ` Dmitry A. Kazakov
2007-09-06 7:19 ` Jean-Pierre Rosen
2007-09-06 9:28 ` Dmitry A. Kazakov
2007-09-06 11:53 ` Jean-Pierre Rosen
2007-09-06 15:35 ` Dmitry A. Kazakov
2007-09-05 18:31 ` Georg Bauhaus
2007-09-05 19:52 ` Dmitry A. Kazakov
2007-09-05 21:38 ` Georg Bauhaus
2007-09-06 7:37 ` Dmitry A. Kazakov
2007-09-06 10:26 ` Georg Bauhaus
2007-09-06 12:25 ` Dmitry A. Kazakov
2007-09-08 1:27 ` Randy Brukardt
2007-09-06 9:14 ` Markus E L
2007-09-06 9:48 ` Dmitry A. Kazakov
2007-09-04 8:23 ` Jean-Pierre Rosen
2007-10-31 23:59 ` adaworks
2007-09-03 20:38 ` Georg Bauhaus
2007-09-04 8:24 ` Dmitry A. Kazakov [this message]
2007-09-03 7:54 ` Jean-Pierre Rosen
2007-09-01 15:33 ` Markus E L
2007-09-04 14:55 ` Adam Beneschan
2007-09-04 15:09 ` Jean-Pierre Rosen
2007-09-08 1:36 ` Randy Brukardt
2007-09-04 17:31 ` Georg Bauhaus
2007-09-08 1:16 ` Randy Brukardt
2007-09-10 16:27 ` amado.alves
2007-09-10 17:13 ` Adam Beneschan
2007-09-10 19:00 ` Dmitry A. Kazakov
2007-09-11 3:12 ` Randy Brukardt
2007-09-11 9:38 ` Dmitry A. Kazakov
2007-09-12 21:57 ` Randy Brukardt
2007-09-13 8:03 ` Dmitry A. Kazakov
2007-09-13 21:37 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox