comp.lang.ada
 help / color / mirror / Atom feed
From: "Warren W. Gay VE3WWG" <ve3wwg@NoSpam.cogeco.ca>
Subject: Re: For the AdaOS folks
Date: Sat, 01 Jan 2005 19:31:56 -0500
Date: 2005-01-01T19:31:56-05:00	[thread overview]
Message-ID: <_gHBd.14666$0y4.10314@read1.cgocable.net> (raw)
In-Reply-To: <q7q4e8yse44r.zlbrtj5nywu0$.dlg@40tude.net>

Dmitry A. Kazakov wrote:
> On Fri, 31 Dec 2004 11:24:40 -0500, Warren W. Gay VE3WWG wrote:
>>Dmitry A. Kazakov wrote:
>>>On Fri, 31 Dec 2004 06:30:51 -0500, Warren W. Gay VE3WWG wrote:
>>All of the infrastructure that you talk about is built outside of
>>the mk. The mk's purpose is to provide the basic needs for an OS, but
>>_not_ be the OS itself. In fact, using a mk approach, application and
>>OS modules conceptually run beside each other, perhaps only differing
>>in the privileges they have (ports that they have rights to).
> 
> I agree in principle, but disagree in details, in what are these basic
> needs. I think that a kind of "protected object" should be provided already
> by the kernel as a building block.

Ok, but if your Ada RTL provides it, do you really care that
much whether it is in or out of the OS?

> When we know little and just start
> to explore a new field of computing, we always start with 1. Then we gather
> knowledge, get frustrated with "flexibility" of making errors and switch 2.

This _assumes_ flexibility = errors. I don't believe this to
be generally true; but I'll agree that it _can_ be.

> That happens when we already know how-to. But having reached the stage 2,
> we find it possible to do things we could not approach before and so open a
> new field. Then again first 1, etc. ]

Perhaps, but it is not always good or necessary to straight-jacket
APIs. It should only be applied to curtail abuse, without limiting
the programming capability.

> The point is, it seems that with installation/properties/profile issue we
> have reached the stage when we could start to think about 2.

Sure, we can think about it, but IMO I don't think anyone has
gone beyond the registry in proposed solutions yet.  You say
"OO will do it better", but haven't supported the "why" it will.
You avoid that by not talking about "how". If I avoid answering
the "how", I could propose a lot of "better" ways.

>>What does "object persistence" have more than a "set of values"? How
>>is an "object container" any different than a directory/subdirectories
>>containing "values"?
> 
> The difference is that the above is untyped or weakly typed. An object is
> not just a value but also the methods to apply. This firstly would prevent
> abuses, and secondly, we could define somewhere an abstract interface to be
> implemented and so enforce proper behavior.

But a persistent object is nothing more than a blob of data
recorded in a file (or something acting as a container). The
fact that it might have methods makes no real difference. Who provides
the methods?  If you have to provide them, then you make matters
worse (we're back to everybody writing their own way to save
and retrieve data in their own way). If you don't, then this
cannot possibly anticipate your needs, unless you use something
like Ada stream I/O. But you don't want to commit to "how" this
is done, so it remains an unsubstantiated claim, and we cannot
progress in that discussion ;-)

>>But you have not proposed any solution.  You keep saying that
>>"I don't want to be responsible", but there is nobody/nothing
>>left to fill that void.
> 
> In OO the object is responsible to provide an implementation. 

But who writes the object? The kernel writer can't. How is he
going to anticipate all of your configuration needs for your
application and mine?

You already have Ada.Streams, but so what. I don't see that as
an improvement for this purpose.

> A minimal
> kernel should give an ability to define some system object. A pair levels
> above there should be defined an abstract interface of application
> persistent data. Each application that possesses such data have to
> implement that interface etc.

This still doesn't say "how" it is better, or "how" it will
be done. Without saying "how", you could promise the moon.

>>Not everything manifests itself as a diamond (obviously). If a
>>hierarchy or "node network" doesn't satisfy your needs, then
>>I'd like to hear just what other structure can.  You can't
>>just close your eyes and say "just make it happen". We don't
>>enjoy that luxury! 8->
> 
> Node network, relational data base, tree-like structure with links, all
> that are just implementations of an abstract interface of what a repository
> should provide. 

So what? Eventually everyone has to "choose" something.

 > We will go no further if we will try to put the cart before
> the horse. First we must define the interface, its implementation is a
> minor problem.

As part of any abstract discussion, you do have to eventually
consider the practical aspect of "how" it will be done. Otherwise
people can make all kinds of promises that can't be kept.

>>So you don't want an API, and yet you want it to happen somehow.
> 
> No, I do not want to see Read_Block and Write_Block in API. 

Sure, but who was proposing that?

> Writing an Ada
> program, I do not see LDA, STR, MOV. They are still there, somewhere
> beneath in the Underwolrd, but I don't care. 

Of course. But when you want to know where GNAT is installed, it
is very easy in Windows to lookup a registry key and get the
pathname for it. If I want to know where APQ should be installed
as an Ada binding, I can do another registry query and get the
top level GNAT directory for bindings.

Is that so complicated?  Does it really need to be more
complicated than that?

>>Somehow,
>>some piece of software/hardware/system is supposed to know what pieces
>>of information are configurable elements, know how to organize it,
>>know how to identify it and share it in a safe way with other processes
>>and users on the same system/network?
> 
> The answer is ADT. As long these pieces are just bytes, there will be
> nothing much better than Windows/UNIX. It is time to make a technological
> leap.

You keep saying "just bytes". Even the windows registry is better than
that, and you know that. Call it "weak typing" if you like, but you
can't say it is a bad idea because it _can_ be worse. Discuss the idea
on the merits of what it _can_ be.

How strongly typed do you make your pathnames in your programs? Do you
really define a different string type for different pathnames and
file names? Most people would find a String or Unbounded_String
acceptable.

...
> Purely theoretically it could be C, but
> practically the result will be null. Then even Ada is still unsuitable for
> this, as long as there is no great type unification, which would allow to
> develop user-defined protected objects, tasks, access types etc.
 > This should become the basic gear to build OS types.

Yes of course - ie. it must support the Ada RTL, at least.

 > I also cannot imagine any
> decent OO design of OS without MI, 

But the O/S has nothing to do with MI, unless it wants to sport
an OO interface (which IMHO is unnecessary, at least for many
APIs).

> MD and interface inheritance from
> concrete objects. 

If you force everything into an object metaphore, you make
it difficult for other languages. Frankly, for the services
that you get from an O/S, I don't see much point in putting
an OO face on it.

If you look around, you'll see a number of people are getting
less fanatical about objects, and in some cases are talking
"services" instead. And that is largely what the operating system
provides. But if you say you must have OO interfaces, then
the Ada RTL is there to let you model any way you see it.
You could even write packages for this, or if you don't like
the one you have write alternatives.

> Alas there is no visible efforts in these directions.

Practical ideas tend to get implemented (and thus become
quite visible). Impractical onces either remain dreams or
wait for the right opportunity. Either or both could apply,
depending upon your expectations ;-)
--
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg



  reply	other threads:[~2005-01-02  0:31 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-27  5:09 For the AdaOS folks Wes Groleau
2004-12-27 10:56 ` Florian Weimer
2004-12-27 12:50   ` Georg Bauhaus
2004-12-27 13:12     ` Florian Weimer
2004-12-28  1:18   ` Wes Groleau
2004-12-27 13:46 ` Adrien Plisson
2004-12-27 16:28   ` Georg Bauhaus
2004-12-28  6:19   ` Microkernels & Ada (Was for the AdaOS folks) Warren W. Gay VE3WWG
2004-12-28 12:02     ` Adrien Plisson
2004-12-28 15:28       ` Warren W. Gay VE3WWG
2004-12-30  1:19 ` For the AdaOS folks Nick Roberts
2004-12-30 13:58   ` Warren W. Gay VE3WWG
2004-12-30 15:27     ` Dmitry A. Kazakov
2004-12-30 16:30       ` Warren W. Gay VE3WWG
     [not found]         ` <otb8t09dkjh54e1k5s5ccn23ggkqk6ndui@4ax.com>
2004-12-30 19:06           ` OT: Mach Ports (For the AdaOS folks) Warren W. Gay VE3WWG
2004-12-31 10:03         ` For the AdaOS folks Dmitry A. Kazakov
2004-12-31 11:30           ` Warren W. Gay VE3WWG
2004-12-31 12:31             ` Dmitry A. Kazakov
2004-12-31 16:24               ` Warren W. Gay VE3WWG
2004-12-31 17:57                 ` Marven Lee
2004-12-31 18:40                   ` Warren W. Gay VE3WWG
2004-12-31 19:22                     ` Warren W. Gay VE3WWG
2005-01-02 15:09                     ` Marven Lee
2005-01-02 20:06                       ` Luke A. Guest
2005-01-03  3:13                         ` Warren W. Gay VE3WWG
2005-01-03  6:40                           ` Luke A. Guest
2005-01-03 10:30                             ` Marven Lee
2005-01-03 15:52                             ` Warren W. Gay VE3WWG
2005-01-03 16:48                           ` Ad Buijsen
2005-01-03 18:49                             ` Warren W. Gay VE3WWG
2005-01-03 13:43                         ` Marven Lee
2005-01-04 23:36                         ` Nick Roberts
2005-01-03 16:22                       ` Warren W. Gay VE3WWG
2005-01-04 23:16                       ` Nick Roberts
2005-01-05  3:48                         ` Warren W. Gay VE3WWG
2005-01-05 13:14                           ` Nick Roberts
2005-01-01 12:53                 ` Dmitry A. Kazakov
2005-01-02  0:31                   ` Warren W. Gay VE3WWG [this message]
2005-01-02 11:50                     ` Dmitry A. Kazakov
2005-01-02 22:04                       ` Warren W. Gay VE3WWG
2005-01-03 10:30                         ` Dmitry A. Kazakov
2005-01-03 16:36                           ` Warren W. Gay VE3WWG
2005-01-03 17:05                             ` Dmitry A. Kazakov
2005-01-03 19:01                               ` Warren W. Gay VE3WWG
2005-01-03 19:55                                 ` Dmitry A. Kazakov
2005-01-03 20:44                                   ` Warren W. Gay VE3WWG
2005-01-04  0:02                                     ` Randy Brukardt
2005-01-04 17:44                                       ` Warren W. Gay VE3WWG
2005-01-04 20:14                                         ` Nick Roberts
2005-01-04  9:59                                     ` Dmitry A. Kazakov
2005-01-04 18:00                                       ` Warren W. Gay VE3WWG
2005-01-04 19:07                                         ` Dmitry A. Kazakov
2005-01-04 19:57                                           ` Warren W. Gay VE3WWG
2005-01-05  0:02                                             ` Nick Roberts
2005-01-05  4:37                                               ` Warren W. Gay VE3WWG
2005-01-05 18:54                                                 ` Nick Roberts
2005-01-05 20:04                                                   ` Warren W. Gay VE3WWG
2005-01-06  0:32                                                     ` Nick Roberts
2005-01-06  1:29                                                   ` Wes Groleau
2005-01-06 11:03                                                     ` Dmitry A. Kazakov
2005-01-05  9:39                                             ` Dmitry A. Kazakov
2005-01-05 11:20                                               ` Warren W. Gay VE3WWG
2005-01-05 12:18                                                 ` Dmitry A. Kazakov
2005-01-05 14:39                                                   ` Warren W. Gay VE3WWG
2005-01-05 17:16                                                     ` zest_fien
2005-01-05 19:44                                                       ` Larry Kilgallen
2005-01-04 20:09           ` Nick Roberts
2005-01-05 10:19             ` Dmitry A. Kazakov
2005-01-05 18:33               ` Nick Roberts
2005-01-05 20:15                 ` Dmitry A. Kazakov
2004-12-31 18:47     ` Nick Roberts
2004-12-31 20:36       ` Warren W. Gay VE3WWG
2005-01-04 18:22         ` Nick Roberts
2005-01-05  5:12           ` Warren W. Gay VE3WWG
2005-01-05 18:02             ` Nick Roberts
2005-01-05 19:55               ` Warren W. Gay VE3WWG
2005-01-06  0:57                 ` Nick Roberts
2005-01-06  2:34                   ` Warren W. Gay VE3WWG
  -- strict thread matches above, loose matches on Subject: below --
2005-01-05 12:14 Mike Brenner
2005-01-05 18:04 ` Warren W. Gay VE3WWG
replies disabled

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