comp.lang.ada
 help / color / mirror / Atom feed
From: Natasha Kerensikova <lithiumcat@instinctive.eu>
Subject: Re: Termination of periodic tasks
Date: Mon, 16 Jun 2014 13:54:06 +0000 (UTC)
Date: 2014-06-16T13:54:06+00:00	[thread overview]
Message-ID: <slrnlpttnq.i0l.lithiumcat@nat.rebma.instinctive.eu> (raw)
In-Reply-To: lnkdoo$e7g$1@dont-email.me

Hello,

On 2014-06-15, J-P. Rosen <rosen@adalog.fr> wrote:
> Le 15/06/2014 12:10, Natasha Kerensikova a écrit :
>> And same as before, the task should be able to terminate quickly when
>> the program terminates.
> Why not have a "stop" entry called by the main program when it
> terminates (possibly through an exported subprogram if you don't want to
> have the task public)?

Mostly because I believe this to be too heavy for a burden for the
client, and somewhat of an abstraction leak.

As I wrote, the situations in which I felt the need are internal
resource collectors in some libraries. Since it's purely internal stuff,
it's of no business to the client, and the implementation should be
changeable at any time.

Moreover, in that situation, if the client forgets the required
"Finalize" or "On_Exit" call, the program can't stop at runtime, and
that feels like a harsh and late effect for such a common human error.

Finally, should the practice become wide spread, this means imposing on
the client a maintenance burden linear in the number of library used.
This isn't much of a problem in the current state of Ada, with a small
niche of mostly-low-complexity programs and comparatively few libraries,
but would like my libraries to survive a sudden (widely unexpected)
surge of Ada popularity.


Now none of these are technical reasons, and I would implement such a
solution if there is no "better" choice. These are only feelings coming
from internalization of best practices learned the hard way in huge and
complex software development environments.


Thanks of your help,
Natasha


  reply	other threads:[~2014-06-16 13:54 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-15 10:10 Termination of periodic tasks Natasha Kerensikova
2014-06-15 12:11 ` Dmitry A. Kazakov
2014-06-15 15:23 ` J-P. Rosen
2014-06-16 13:54   ` Natasha Kerensikova [this message]
2014-06-17 20:14     ` Charles H. Sampson
2014-06-18  7:32       ` Dmitry A. Kazakov
2014-06-15 16:54 ` Jeffrey Carter
2014-06-16 14:02   ` Natasha Kerensikova
2014-06-16 15:08     ` Dmitry A. Kazakov
2014-06-16 17:08     ` Jeffrey Carter
2014-06-17  6:57       ` Natasha Kerensikova
2014-06-17  7:37         ` Dmitry A. Kazakov
2014-06-17  7:47           ` Natasha Kerensikova
2014-06-17  8:45             ` Dmitry A. Kazakov
2014-06-17  9:00               ` Natasha Kerensikova
2014-06-17 12:55                 ` Dmitry A. Kazakov
2014-06-17 14:51                   ` J-P. Rosen
2014-06-17 16:44                     ` Dmitry A. Kazakov
2014-06-17 20:00                       ` Randy Brukardt
2014-06-17 20:16                         ` Jeffrey Carter
2014-06-17 21:30                         ` Simon Wright
2014-06-17 12:02         ` Jacob Sparre Andersen
2014-06-17 19:32           ` Natasha Kerensikova
2014-06-17 17:53         ` Jeffrey Carter
2014-06-17 20:03           ` 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