From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-0.3 required=5.0 tests=BAYES_00, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: border1.nntp.dca.giganews.com!nntp.giganews.com!goblin1!goblin2!goblin.stu.neva.ru!aioe.org!.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Ada platforms and pricing, was: Re: a new language, designed for safety ! Date: Tue, 24 Jun 2014 10:33:27 +0200 Organization: cbb software GmbH Message-ID: <9vn9udxucq3n.1ejno042sc30t.dlg@40tude.net> References: <1402308235.2520.153.camel@pascal.home.net> <85ioo9yukk.fsf@stephe-leake.org> <255b51cd-b23f-4413-805a-9fea3c70d8b2@googlegroups.com> <5ebe316d-cd84-40fb-a983-9f953f205fef@googlegroups.com> <2100734262424129975.133931laguest-archeia.com@nntp.aioe.org> <5156oy7vhg99.17wu6q2ef45ke.dlg@40tude.net> <1d3612ad-f85a-489c-b4bc-0c23d5d67de3@googlegroups.com> Reply-To: mailbox@dmitry-kazakov.de NNTP-Posting-Host: QTaafVZuunHujkJPndFR7g.user.speranza.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: 40tude_Dialog/2.0.15.1 X-Notice: Filtered by postfilter v. 0.8.2 Xref: number.nntp.dca.giganews.com comp.lang.ada:187218 Date: 2014-06-24T10:33:27+02:00 List-Id: On Tue, 24 Jun 2014 00:52:33 -0700 (PDT), Maciej Sobczak wrote: >> If there were user-defined task support one >> could program this as if it were in proper tasks. > > Maybe not "proper tasks", but something similar that has an explicit > interface to "push" its execution forward up to the next "switching > point", so that the application can decide on its own when that "pushing" > should take place. It is alike to all software architectures based on callbacks or events, e.g. GUI. It is fairly easy to program with callbacks so long there is not much logic behind actions triggered by callbacks and there is little coupling between the actions and no ordering of the actions is needed. For complex logic it is becomes almost impossible to structure the design along callback decomposition. It is no matter if callbacks are subprograms or full objects (procedural vs. OO decomposition), because the lines are already drawn. You cannot change anything. It is knitting standing on your head. Instead of the mess you wanted to put weight rather on the logic of the actions, their ordering and effects, than on the callbacks (I/O events). For this the individual callbacks which are logically coupled and ordered need to be represented as such in the source code, visually close to each other, best of all, as a thread of control where events pushing the actions are actually irrelevant to the logic. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de