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=-0.8 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31717 invoked from network); 9 Mar 2023 23:55:07 -0000 Received: from minnie.tuhs.org (2600:3c01:e000:146::1) by inbox.vuxu.org with ESMTPUTF8; 9 Mar 2023 23:55:07 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 3781941365; Fri, 10 Mar 2023 09:55:04 +1000 (AEST) Received: from mail-ed1-x52e.google.com (mail-ed1-x52e.google.com [IPv6:2a00:1450:4864:20::52e]) by minnie.tuhs.org (Postfix) with ESMTPS id 947D44135A for ; Fri, 10 Mar 2023 09:54:56 +1000 (AEST) Received: by mail-ed1-x52e.google.com with SMTP id cy23so13719838edb.12 for ; Thu, 09 Mar 2023 15:54:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bsdimp-com.20210112.gappssmtp.com; s=20210112; t=1678406095; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=2V/dHgkX0VYX4Jyl3w76pQEYcOO7eWd90Vpkaq++dCw=; b=wiSsY0NrUXj0uS5iUVjGsT/fvIotP3//z4vQNhV1gMIMQr9uQVeXyZTqAsqMUvmCVk oVrBGKYXYvx8KgAeF2UXujANteD1eP6FJo+kFW2XbCjJAR58pa15redU+Ij2SQuWSugN sIdlx28MXIaJ0TiHudisAqQZXbgxCpMPQnLV6xiURkXpFXRER/ck0AV8/aIoc1z9VxTJ NEHYLI8T36lrX/kMW2sPKjAsWXj6nL4Wmrw0raXv7QEoN8vDIwZiREHBO/480DgHzK6V pW24G5B4YX9m6NTFunDAkTvUlEF2V5xWBqevuutqfS5SDlgEO6hKBnWrMCCiBpYqeNoh 4Qvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678406095; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=2V/dHgkX0VYX4Jyl3w76pQEYcOO7eWd90Vpkaq++dCw=; b=Us+89AOBbjf9CN90N5cqBLJRB5u1t1m5HrEPdjZMwlUWCg+AGhlNXyeKRqqcQ6O+qO 4EQA+JK3OF4VrO8NogI2Su81gbiIa7W/70FdOXi5giCDbWl8cb29bdb69hwzFblE0oj/ ifCCaEk1IhmfxemopFcU1brE78fXdu0Z/MNnA3xaIxXi2hoJG6wtOvMhGatAlMCJR/VY zEjdqkQ32UBVDgFQokYJvvDp2dWY2A4STdPPcH+2U4yjoUA8bk6spiojT/0Nn8i+A3a/ uDk5lOT9/VTV7pwOJN1R90aB8rqxH5987VQPpEVyZUwjlYhQiiViYcLyIGJsLHbkCr2Z AxWw== X-Gm-Message-State: AO0yUKWX4GIKBmSJjt1Y2OuUBczREjRnzn+PVqJTU6xPbtS9Y0ZDP401 Tz3n97XpTfRPIkTN/I3Tj6s3cx/2gtsqO90I8dbTQZFB0XcSckmJ X-Google-Smtp-Source: AK7set+wiz/kTvvCv3kIL1HOfKxVA6WJY+chbSTNdrQBnzea7EH5pwEjcEJh465XWe00CagTWhkSPcXoNJCI4Sj8uSY= X-Received: by 2002:a17:906:a05a:b0:8b2:23fb:dfd1 with SMTP id bg26-20020a170906a05a00b008b223fbdfd1mr12385291ejb.2.1678406094634; Thu, 09 Mar 2023 15:54:54 -0800 (PST) MIME-Version: 1.0 References: <20230309230130.q4I-f%steffen@sdaoden.eu> <849f8da7-8df2-619c-6080-d40d0ef6fc57@makerlisp.com> In-Reply-To: <849f8da7-8df2-619c-6080-d40d0ef6fc57@makerlisp.com> From: Warner Losh Date: Thu, 9 Mar 2023 15:54:43 -0800 Message-ID: To: Luther Johnson Content-Type: multipart/alternative; boundary="0000000000000f5a7205f6805fc1" Message-ID-Hash: ZWONNXSF6C6OSDEHO6NZ7XSAJWCI5R4Y X-Message-ID-Hash: ZWONNXSF6C6OSDEHO6NZ7XSAJWCI5R4Y X-MailFrom: wlosh@bsdimp.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: The Eunuchs Hysterical Society X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: I can't drive 55: "GOTO considered harmful" 55th anniversary List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --0000000000000f5a7205f6805fc1 Content-Type: text/plain; charset="UTF-8" Oh also sometimes for breaking out of multiple levels of while/for loops. The alternatives are often worse. Warner On Thu, Mar 9, 2023, 4:31 PM Luther Johnson wrote: > I agree, unless I use setjmp/longjmp for that. Besides error recovery, > there are occasionally other times when we want to locally "return" to a > common state and start "from the top" again. I find such uses very clear in > their intent, and if commented well, not hard to follow at all - as long as > there is not more than one "top" :) > On 03/09/2023 04:21 PM, Warner Losh wrote: > > > > On Thu, Mar 9, 2023, 4:18 PM segaloco via TUHS wrote: > >> GOTO is one of those paradoxical things where I would only trust the most >> sophisticated engineer to know when it's acceptable to use a GOTO but on >> the flip side would be suspicious of anyone claiming to be an engineer that >> uses any amount of GOTOs... >> >> Were any of the various GOTOs in languages ever meant to be any more than >> providing the same level of control that branch statements in assembly do? >> Was there ever some vision anyone's aware of concerning a sophisticated, >> dependable use of GOTOs? Since my first days poking around learning C GOTO >> has been mentally filed away as an assembly vestige for folks in >> transition, not a dependable construct in its own right. Any alternative >> camps out there? >> > > > In C I use it all the time to do goto err for common error recovery > because C doesn't have anything better. > > Warner > >> - Matt G. >> >> ------- Original Message ------- >> On Thursday, March 9th, 2023 at 3:01 PM, Steffen Nurpmeso < >> steffen@sdaoden.eu> wrote: >> >> >> > I wonder if Pink Floyd's Summer68 maybe refers to this. >> > Other than that i am addicted and could not live without it. >> > The other (terrible) song is from 1984 (east southern US). >> > >> > --steffen >> > | >> > |Der Kragenbaer, The moon bear, >> > |der holt sich munter he cheerfully and one by one >> > |einen nach dem anderen runter wa.ks himself off >> > |(By Robert Gernhardt) >> > > --0000000000000f5a7205f6805fc1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Oh also sometimes for breaking out of multiple levels of = while/for loops. The alternatives are often worse.

Warner

On Thu, Mar 9, 2023, 4:31 PM Luther Johnso= n <luther@makerlisp.com> = wrote:
=20 =20 =20

I agree, unless I use setjmp/longjmp for that. Besides error recovery, there are occasionally other times when we want to locally "return" to a common state and start "from the= top" again. I find such uses very clear in their intent, and if commented well, not hard to follow at all - as long as there is not more than one "top" :)

On 03/09/2023 04:21 PM, Warner Losh wrote:


On Thu, Mar 9, 2023, 4:18 PM segaloco via TUHS <tuhs@tuhs.org> wrote:
GOTO is one of those paradoxical things where I would only trust the most sophisticated engineer to know when it's acceptable to use a GOTO but on the flip side would be suspicious of anyone claiming to be an engineer that uses any amount of GOTOs...

Were any of the various GOTOs in languages ever meant to be any more than providing the same level of control that branch statements in assembly do?=C2=A0 Was there ever some vision anyone's aware of concerning a sophisticated, dependable use of GOTOs?=C2=A0 Since my first days poking around learning C GOTO has been mentally filed away as an assembly vestige for folks in transition, not a dependable construct in its own right.=C2=A0 Any alternative camps out there?


In C I use it all the time to do goto err for common error recovery because C doesn't have anything better.=

Warner=C2=A0
- Matt G.

------- Original Message -------
On Thursday, March 9th, 2023 at 3:01 PM, Steffen Nurpmeso <steffen@sdaoden.eu> wrote:


> I wonder if Pink Floyd's Summer68 maybe refers to this.
> Other than that i am addicted and could not live without it.
> The other (terrible) song is from 1984 (east southern US).
>
> --steffen
> |
> |Der Kragenbaer, The moon bear,
> |der holt sich munter he cheerfully and one by one
> |einen nach dem anderen runter wa.ks himself off
> |(By Robert Gernhardt)

--0000000000000f5a7205f6805fc1--