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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 2002:a24:78c:: with SMTP id f134-v6mr3440195itf.36.1521716609404; Thu, 22 Mar 2018 04:03:29 -0700 (PDT) X-Received: by 2002:a9d:3053:: with SMTP id w19-v6mr589852otd.0.1521716609250; Thu, 22 Mar 2018 04:03:29 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!feeder.eternal-september.org!paganini.bofh.team!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!u184-v6no670795ita.0!news-out.google.com!j10-v6ni522ite.0!nntp.google.com!u184-v6no670793ita.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 22 Mar 2018 04:03:29 -0700 (PDT) In-Reply-To: Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=87.116.177.118; posting-account=z-xFXQkAAABpEOAnT3LViyFXc8dmoW_p NNTP-Posting-Host: 87.116.177.118 References: <0a1e0664-f657-4596-9672-5440ebe4caf2@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: Subject: Re: Ada-Oriented GUI From: Bojan Bozovic Injection-Date: Thu, 22 Mar 2018 11:03:29 +0000 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Xref: reader02.eternal-september.org comp.lang.ada:51128 Date: 2018-03-22T04:03:29-07:00 List-Id: On Thursday, March 22, 2018 at 11:58:12 AM UTC+1, Bojan Bozovic wrote: > On Wednesday, March 21, 2018 at 10:51:01 PM UTC+1, Randy Brukardt wrote: > > "Dan'l Miller" wrote in message=20 > > news:0a1e0664-f657-4596-9672-5440ebe4caf2@googlegroups.com... > > ... > > >I never said that it wouldn't be. I was saying that rarely is a desig= n > > >tied to absolutely running nontrivial amounts of non-UI code on the Ma= in=20 > > >thread. > >=20 > > Conventional sequential programs ran all of their code (UI and otherwis= e) on=20 > > a single thread. > >=20 > > Requiring the program to be executed around the GUI forces anything=20 > > substantial into tasks (threads), with all of the problems that entails= =20 > > (deadlock/livelock/data races/nondeterminism/required synchronization).= =20 > > Since Ada already defines the purpose and definition of the environment= task=20 > > (what you're calling the main thread), requiring using it for the GUI f= orced=20 > > the entire program to be used by the GUI. And the GUI is necessarily a = tiny=20 > > part of any program that Ada is very appropriate for (that is, programs= that=20 > > need to be close to the metal and/or verifiable - a GUI itself being ne= ither=20 > > of these). > >=20 > > The problem with Claw was that it implicitly dragged those tasking issu= es=20 > > into even sequential programs. Insisting on the GUI being primary makes= =20 > > those problems even worse. I'd like to see a design where the GUI was t= ruly=20 > > secondary (I couldn't figure it out, and I'm done caring personally). > >=20 > > Randy. >=20 > But I can imagine cases where gui would need to be verified, together wit= h the OS itself, banking applications and applications used in hospitals to= queue patient records come to mind. You're absolutely correct that applica= tions shouldn't be designed around gui, but gui agnostic, but its all in va= in if the OS itself isn't verified and nobody will bother (here's an idea, = make one verified - as much as possible - posix/unix system for general use= , market real time version to embedded developers which traditionally use A= da commercially, verified to DO-178C, ISO 26262 and other standards for aut= omation, transportation and industrial use, use drivers that aren't verifie= d from Linux or some *BSD for general use and have verified drivers for boa= rds used in safety critical domains. There is also a problem with formal me= thods not being integrated in the language itself, so it's programming in Z= or B with tools that generate Ada or C source, where, ideally, such interm= ediate steps needn't be taken. Whether programmer would use formal methods = in a language or not it would depend on actual needs of a project. I havent= (yet) read the book on Alphard by Shaw, Wulf and London, but they had that= idea to have code verification in a language itself which could be paired = with modern theorem provers. In my ideal world there wouldn't be any bugs i= n code, as the damage done by buggy code and hackers exploiting is enormous= already. Verification would make hacking obsolete. Not queue but handle. English is a distant second language to me, and I hop= e you will forgive my error.