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: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!.POSTED!not-for-mail From: Georg Bauhaus Newsgroups: comp.lang.ada Subject: Re: Top 10 Worst C# Features Date: Sat, 5 Sep 2015 08:44:14 +0200 Organization: A noiseless patient Spider Message-ID: References: Reply-To: nonlegitur@futureapps.de Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Sat, 5 Sep 2015 06:42:27 +0000 (UTC) Injection-Info: mx02.eternal-september.org; posting-host="f7972c5513f369b1efd12133304f7abd"; logging-data="27501"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+lkqeaWh3q2sSU1LHe5O5p9SkjCgocLxQ=" User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:38.0) Gecko/20100101 Thunderbird/38.2.0 In-Reply-To: Cancel-Lock: sha1:oRvAQtVrdjvN7Dy8PF/UerCr4Jw= Xref: news.eternal-september.org comp.lang.ada:27706 Date: 2015-09-05T08:44:14+02:00 List-Id: 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!