From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 32615 invoked from network); 3 Aug 2021 03:52:10 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 3 Aug 2021 03:52:10 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id B86FA9CA8F; Tue, 3 Aug 2021 13:52:08 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 6B78A9CA63; Tue, 3 Aug 2021 13:51:45 +1000 (AEST) Received: by minnie.tuhs.org (Postfix, from userid 112) id 946679CA63; Tue, 3 Aug 2021 13:51:43 +1000 (AEST) Received: from darkstar.fourwinds.com (fourwinds.com [63.64.179.162]) by minnie.tuhs.org (Postfix) with ESMTPS id DF5DF9CA60 for ; Tue, 3 Aug 2021 13:51:42 +1000 (AEST) Received: from darkstar.fourwinds.com (localhost [127.0.0.1]) by darkstar.fourwinds.com (8.16.1/8.15.2) with ESMTP id 1733pfTS494610 for ; Mon, 2 Aug 2021 20:51:41 -0700 Received: from darkstar.fourwinds.com (jon@localhost) by darkstar.fourwinds.com (8.16.1/8.15.2/Submit) with ESMTP id 1733pfXb494598 for ; Mon, 2 Aug 2021 20:51:41 -0700 Message-Id: <202108030351.1733pfXb494598@darkstar.fourwinds.com> From: Jon Steinhart To: The Eunuchs Hysterical Society In-reply-to: <55D95A34-3644-4A95-B94F-76EC1A37D729@iitbombay.org> References: <202108030149.1731nIsp395841@darkstar.fourwinds.com> <55D95A34-3644-4A95-B94F-76EC1A37D729@iitbombay.org> Comments: In-reply-to Bakul Shah message dated "Mon, 02 Aug 2021 20:27:23 -0700." MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <494592.1627962700.1@darkstar.fourwinds.com> Date: Mon, 02 Aug 2021 20:51:41 -0700 X-JON-SPAM: local delivery Subject: Re: [TUHS] Systematic approach to command-line interfaces X-BeenThere: tuhs@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: The Unix Heritage Society mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: tuhs-bounces@minnie.tuhs.org Sender: "TUHS" Bakul Shah writes: > On Aug 2, 2021, at 6:49 PM, Jon Steinhart wrote: > > > > Bakul Shah writes: > >> Or perhaps the issue is not having graphics/GUI designers with the > >> creativity and sensibilities of the early Bell Labs crowd of researchers? > >> I keep thinking there ought to be something simpler/more elegant than > >> the current graphics subsystems.... > >> > >>> On Aug 2, 2021, at 11:16 AM, Adam Thornton wrote: > >>> > >>> It's a measure of Unix having been wounded by its own success. > >>> > >>> fork() is a great model for a single-threaded text processing pipeline to > >> do automated typesetting. (More generally, anything that is a straightforward > >> composition of filter/transform stages.) Which is, y'know, what Unix is *for*. > >>> > >>> It's not so great for a responsive GUI in front of a multi-function interactive program. > >>> > >>> These days, the vast majority of Unix applications are "stuff people play with on their phones." > >>> > >>> Adam > > > > I thought that I posted something about this recently when someone > > was arguing for threads being unnecessary and bad. > > > > My two cents is that GUIs were the big driver for threads. I would > > personally like to get rid of them as they're "the same but different" > > with regards to processes. My preference would be to solve the > > heaviness of processes problem. I'm not in the thick of that these > > days, but I don't see it being solved in software alone; it's going > > to take some serious hardware/software architecture work. Might be > > easier to accomplish now that the world has pretty much settled on > > the process model. > > > > Jon > > AFAIK pretty much all GUI frameworks are (or were) single threaded. > At least I don't see the GUI as the main motivation for threads. > > I was mainly complaining about the complexity of graphics subsystem, > including user interaction. Don't see what fork() has to do with it. Not my experience. At least from what I was working on the 1980s there was a need to be able to keep complicated state in graphical programs which is when assembly language versions of threads came into being. Made it possible for whatever was generating output to be interrupted so that input could be handled in a timely manner. I seem to recall getting some code from Sun for this that I ported to a different system. Jon