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=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!nntp-feed.chiark.greenend.org.uk!ewrotcd!newsfeed.xs3.de!io.xs3.de!news.jacob-sparre.dk!franka.jacob-sparre.dk!pnx.dk!.POSTED.rrsoftware.com!not-for-mail From: "Randy Brukardt" Newsgroups: comp.lang.ada Subject: Re: Ada-Oriented GUI Date: Wed, 21 Mar 2018 16:50:57 -0500 Organization: JSA Research & Innovation Message-ID: References: <0a1e0664-f657-4596-9672-5440ebe4caf2@googlegroups.com> Injection-Date: Wed, 21 Mar 2018 21:50:59 -0000 (UTC) Injection-Info: franka.jacob-sparre.dk; posting-host="rrsoftware.com:24.196.82.226"; logging-data="28337"; mail-complaints-to="news@jacob-sparre.dk" X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2900.5931 X-RFC2646: Format=Flowed; Original X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.7246 Xref: reader02.eternal-september.org comp.lang.ada:51111 Date: 2018-03-21T16:50:57-05:00 List-Id: "Dan'l Miller" wrote in message news:0a1e0664-f657-4596-9672-5440ebe4caf2@googlegroups.com... ... >I never said that it wouldn't be. I was saying that rarely is a design >tied to absolutely running nontrivial amounts of non-UI code on the Main >thread. Conventional sequential programs ran all of their code (UI and otherwise) on a single thread. Requiring the program to be executed around the GUI forces anything substantial into tasks (threads), with all of the problems that entails (deadlock/livelock/data races/nondeterminism/required synchronization). Since Ada already defines the purpose and definition of the environment task (what you're calling the main thread), requiring using it for the GUI forced the entire program to be used by the GUI. And the GUI is necessarily a tiny part of any program that Ada is very appropriate for (that is, programs that need to be close to the metal and/or verifiable - a GUI itself being neither of these). The problem with Claw was that it implicitly dragged those tasking issues into even sequential programs. Insisting on the GUI being primary makes those problems even worse. I'd like to see a design where the GUI was truly secondary (I couldn't figure it out, and I'm done caring personally). Randy.