comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.de>
Subject: Re: Multitasking and containers
Date: Wed, 29 Nov 2006 09:51:50 +0100
Date: 2006-11-29T09:51:41+01:00	[thread overview]
Message-ID: <1164790310.5893.22.camel@localhost.localdomain> (raw)
In-Reply-To: <8rojzetyj1sh.i4f73l9vdcwc$.dlg@40tude.net>

On Tue, 2006-11-28 at 12:24 +0100, Dmitry A. Kazakov wrote:
> On Tue, 28 Nov 2006 11:31:13 +0100, Georg Bauhaus wrote:
> 
> > On Tue, 2006-11-28 at 09:50 +0100, Dmitry A. Kazakov wrote:
> >> On Tue, 28 Nov 2006 02:19:55 GMT, Matthew Heaney wrote:
> >>  It is easy to imagine a
> >> situation (massively parallel computing with shared memory) where the loss
> >> could be huge.
> > 
> > I have learned that Ada tasking is defined at a relatively
> > high level. Suppose you are writing highly specialized low
> > level software, such as when taking advantage of a specific
> > computer's architecture at the system or hardware level.
> > It is easy for me to imagine that you are working way below
> > Ada's tasking level. Are you suggesting that this is the
> > normal mode of using a high level programming language
> > that supports tasking?
> 
> I didn't mean Ada tasking at all [*]. I meant explicitly one concrete
> design solution: a container with mutable reads wrapped into a protected
> object's procedure.

Well, your design solution ("have the user take care of any concurrency
issues by providing access to some Environment context" IIUC) seemed to
me to refer to a multi-CPU system with shared memory. Then there was
massively parallel computing. To me, this sounds like it  could be
image/video processing, sound production, pattern recognition and the
like. Smells like matrices and specially designed algorithms, not like
standard containers and Maps of Maps.

If your algorithm can guarantee that no read operation tampers with
anything in your shared data, fine. If some out of the box algorithms
and standard containers are to be used in a less specialized concurrent
program, imagining off the street programmers, will you profit from
using Ada if programmers will have to trigger semaphores hoisting flags
and the like? 

This is what made me think that your proposal is low level.

Incidentally, the design solution blends well with your other design
decisions that I can remember.
E.g. have the compiler at most help the user to flesh out an
Array interface, instead of providing a stinking array construct defined
by the language. :-)

As Matt has said,
"The reason is a conflict between safety and flexibility,
a conflict that was resolved in favor of safety."

Isn't this true of Ada in general?

 -- Georg 





  reply	other threads:[~2006-11-29  8:51 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-24  8:51 Multitasking and containers Maciej Sobczak
2006-11-24 10:11 ` Georg Bauhaus
2006-11-24 10:19 ` Dmitry A. Kazakov
2006-11-24 10:35   ` Maciej Sobczak
2006-11-24 11:14     ` Dmitry A. Kazakov
2006-11-24 12:13       ` Matthew Heaney
2006-11-27  4:17         ` Jeffrey R. Carter
2006-11-27 10:30           ` Georg Bauhaus
2006-11-27 18:41             ` Jeffrey R. Carter
2006-11-27 18:57               ` Dmitry A. Kazakov
2006-11-27 19:45               ` Matthew Heaney
2006-11-27 21:15                 ` Simon Wright
2006-11-28  1:43                 ` Dr. Adrian Wrigley
2006-11-28  2:19                   ` Matthew Heaney
2006-11-28  8:50                     ` Dmitry A. Kazakov
2006-11-28 10:31                       ` Georg Bauhaus
2006-11-28 11:24                         ` Dmitry A. Kazakov
2006-11-29  8:51                           ` Georg Bauhaus [this message]
2006-11-28 17:12                       ` Matthew Heaney
2006-11-28 18:21                         ` Dmitry A. Kazakov
2006-11-28 19:17                           ` Matthew Heaney
2006-11-29 18:43                             ` Dmitry A. Kazakov
2006-11-29 10:14                       ` Maciej Sobczak
2006-11-29 15:50                         ` Matthew Heaney
2006-11-24 12:12     ` Matthew Heaney
2006-11-24 12:05   ` Matthew Heaney
2006-11-24 12:02 ` Matthew Heaney
replies disabled

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