comp.lang.ada
 help / color / mirror / Atom feed
From: Georg Bauhaus <bauhaus@futureapps.invalid>
Subject: Re: Top 10 Worst C# Features
Date: Sat, 5 Sep 2015 08:44:14 +0200
Date: 2015-09-05T08:44:14+02:00	[thread overview]
Message-ID: <mse2sj$qrd$1@dont-email.me> (raw)
In-Reply-To: <msd2ph$42i$1@loke.gir.dk>

On 04.09.15 23:34, Randy Brukardt wrote:
> Event-driven GUI programming is just one step
> short of madness as it is, I'd hate to expand that. Such code is necessarily
> unstructured spaggetti, because every routine has to be able to handle
> anything in essentially any order.

Unstructured spaghetti in O-O programs is the very thing that rings
a bell. ;-) But I'd expect to see the same in unstructured procedural
programs (of structured programming) and also in massively coupled
equational definitions (of functionists' programs). It's common.

There is an overabundance of attempts at addressing systematically
one kind of event handling, viz. JavaScript based DOM events in client-
server systems. Lots of frameworks to choose from, more or less mature;
some nice ideas; some good old ideas. No universally accepted solution.
(And nothing in the language, really, other than the names in
   addEventListener(event_name, function, ...).)

Some questions that might frequently arise, I think:

- How are the program's objects related when such-and-such happens?
   Can we express that in source text, specifically?

- Are there any ways for correctly reacting to Pig_flies_By?
   E.g. topsorted orders of calls. Can we declare that set of orders
    in the source text, specifically?

If, to find an answer, we are now looking at simulators, or at graphs drawn
by some tool, or just study the sources and write memos. then these ways
of explaining reactions to events  seems to work only after the fact, not
by declaration.

Temporal logic is, I guess, one way of formalizing these relationships.
Not that I'm fluent in it!


  parent reply	other threads:[~2015-09-05  6:44 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-02 10:59 Top 10 Worst C# Features Stefan.Lucks
2015-09-02 17:37 ` Álex R. Mosteo
2015-09-02 19:39 ` Randy Brukardt
2015-09-03  8:14   ` Georg Bauhaus
2015-09-03  9:26     ` Dmitry A. Kazakov
2015-09-03 11:39       ` G.B.
2015-09-03 12:00         ` G.B.
2015-09-03 13:59           ` Dmitry A. Kazakov
2015-09-03 19:12           ` Randy Brukardt
2015-09-04  7:33             ` Georg Bauhaus
2015-09-04 21:34               ` Randy Brukardt
2015-09-05  6:31                 ` Dmitry A. Kazakov
2015-09-05  6:44                 ` Georg Bauhaus [this message]
2015-09-05  7:07                   ` Dmitry A. Kazakov
2015-09-05  6:45                 ` Niklas Holsti
2015-09-05  7:21                   ` Dmitry A. Kazakov
2015-09-05 12:07                   ` Peter Chapin
2015-09-06 10:45                   ` Georg Bauhaus
2015-10-13 19:57                   ` Eryndlia Mavourneen
2015-09-05  7:16                 ` Shark8
2015-09-03 13:47         ` Dmitry A. Kazakov
2015-09-03  8:51 ` gautier_niouzes
2015-10-01 14:03 ` Paul Colin de Gloucester
2015-10-14  8:00   ` Maciej Sobczak
2015-10-14 14:26     ` Ben Bacarisse
2015-10-14 16:50       ` Paul Rubin
2015-10-14 18:17         ` Stefan.Lucks
2015-10-14 19:54           ` Ben Bacarisse
2015-10-15 12:24       ` Maciej Sobczak
2015-10-15 13:59         ` Ben Bacarisse
2015-11-06 14:50     ` Nicholas Collin Paul de Gloucester
replies disabled

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