comp.lang.ada
 help / color / mirror / Atom feed
From: seas.gwu.edu!mfeldman@uunet.uu.net  (Michael Feldman)
Subject: Re: Query about monitor (passive) task optimization
Date: 2 Aug 93 17:47:39 GMT	[thread overview]
Message-ID: <1993Aug2.174739.16569@seas.gwu.edu> (raw)

In article <1993Aug2.064113.938@celsiustech.se> bjkae@celsiustech.se (Bjorn Kal
lberg) writes:
>
>I thought a Real Time program was a program, where timing was an essential
>part of the semantics. Thus, semantics is changed.

Certainly. And I argued that there are a lot of uses of tasking beyond
realtime, which have gotten short shrift from the Ada companies overall.
>
>>From within the program, using only standard Ada, one wouldn't
>>even be able to detect whether the optimization had happened or not 
>>(this might be doable with CIFO-type interfaces, depending on the
>>runtime system implementation).  The only difference is that the program
>>runs faster.
>
>Or suddenly slower, when you change the program in some little way, so
>the compiler can not apply the optimization any longer, that it previously did
.
>And you do not get a warning or error, which you will if you have explicitly
>told the compiler, that this must be a passive task.
>
How does this differ from _any_ optimization? Do you want compiler-dependent
pragmas for every teeny little optimization? I doubt it.

>By the way, are not the automatic type conversions made by some programming
>languages, like PL1, quite wonderful? You don't have to write a lot of
>silly and unneccesary stuff. 

Different issue. These implicit conversions, which caused everyone so much
heartache, were part of the language design, not an implementer choice.
The passive-task thing is an IMPLEMENTATION-DEPENDENT PRAGMA. Or, in the
case of DDC-I, they just do it.

My objection was to some Ada users feeling that they need to control every
bit and microsecond of tasking. Why don't they insist on pragmas to
control every expression evaluation? I suspect it's because programmers
understand expressions and do not understand concurrency. And when they
don't understand something, they get antsy if they can't control it.

What Ada was supposed to be about was a common language for which the
validation process guaranteed most behavior. This was supposed to lead
to a very active and innovative compiler industry that would find lots
of neat ways of exploiting the language features, and lots of users
who would learn the features and trust their compilers.

So did it happen that way?

Mike Feldman

             reply	other threads:[~1993-08-02 17:47 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-08-02 17:47 Michael Feldman [this message]
  -- strict thread matches above, loose matches on Subject: below --
1993-08-13  7:32 Query about monitor (passive) task optimization agate!howland.reston.ans.net!darwin.sura.net!sgiblab!munnari.oz.au!goanna
1993-08-11  2:34 agate!usenet.ins.cwru.edu!magnus.acs.ohio-state.edu!math.ohio-state.edu!u
1993-08-10 23:49 Michael Feldman
1993-08-10 23:14 Michael Feldman
1993-08-10 13:51 Robert Dewar
1993-08-10 13:44 Robert Dewar
1993-08-10  1:47 cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!seas.gwu.edu!mfeld
1993-08-10  1:38 cis.ohio-state.edu!math.ohio-state.edu!darwin.sura.net!seas.gwu.edu!mfeld
1993-08-09 21:15 Robert I. Eachus
1993-08-09 14:48 Jonathan Schilling
1993-08-09 12:14 Robert Dewar
1993-08-09 11:02 Richard Kenner
1993-08-09  4:57 Robert Dewar
1993-08-09  4:47 Robert Dewar
1993-08-09  4:41 Robert Dewar
1993-08-03 20:10 Michael Feldman
1993-08-03 20:01 Michael Feldman
1993-08-03 15:26 Jonathan Schilling
1993-08-03 10:11 Bjorn Kallberg
1993-08-02 18:17 Michael Feldman
1993-08-02 18:13 Michael Feldman
1993-08-02 14:35 Jonathan Schilling
1993-08-02 13:19  Arthur Evans
1993-08-02  6:41 Bjorn Kallberg
1993-08-02  3:30 Michael Feldman
1993-08-02  1:57 Jonathan Schilling
1993-08-01  3:25 Michael Feldman
1993-07-31  3:27 Robert Dewar
1993-07-30 17:51 Michael Feldman
replies disabled

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