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_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FROM,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 28662 invoked from network); 11 Mar 2023 15:43:09 -0000 Received: from minnie.tuhs.org (2600:3c01:e000:146::1) by inbox.vuxu.org with ESMTPUTF8; 11 Mar 2023 15:43:09 -0000 Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id CA53741549; Sun, 12 Mar 2023 01:43:06 +1000 (AEST) Received: from mail-pl1-x631.google.com (mail-pl1-x631.google.com [IPv6:2607:f8b0:4864:20::631]) by minnie.tuhs.org (Postfix) with ESMTPS id 1F1A041535 for ; Sun, 12 Mar 2023 01:42:53 +1000 (AEST) Received: by mail-pl1-x631.google.com with SMTP id i10so8600731plr.9 for ; Sat, 11 Mar 2023 07:42:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; t=1678549372; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=OCNYCyvpk95Ua90JUsZ1o001lP9X+PIRlcgKKMarTok=; b=KDOB62OnyPuzboOvUeOb74g5r2qTNjw9Y0pCj13sB51Q30VhYQxZ6sDsP2WCEoR3oq zQoqkdbZqsDaZ98y8lJgUAoBFCoQGfV6aefq5rdNnJ32C9Y4GveNoXNDHrbB/+EKdYrs RYyFBXhoG+/ViFrXVnpFmNy46M38sLz8ET+1ZIBT4lWhFQDr0UlkAXq0F1SKQ1HoYWvv +d89cBupz5JgK9qyKu+4FV2ULnB/zkstQJzWmPZokH51a+KlYEK5BNmqtd0r8wRaz0aE Bt6Aixj7+B1majwR1PCD34VhwyaobcI68KqupcWlFa3SCC3vWgRQHaapTuUzm3LY6cS8 A6FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; t=1678549372; h=to:subject:message-id:date:from:references:in-reply-to:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=OCNYCyvpk95Ua90JUsZ1o001lP9X+PIRlcgKKMarTok=; b=AVGDc6LuvfKQUrkRodCMrv7MRsR5Hv29jh9SilK9gCm9BQ89H8owStZB+h78L15egr U+BU6wYDs03Cla46WoWVMpH5HUUvctw+QJrZ0a3Ps1FdUAL20reesvAVPA3ipfEiDMMr FjyM/vnnXxWHOO6Uy3VGCUNL8TsJf2x24/a9JKK8sFHVdmANziRlMH5+HE+wg9p5UIEa 1AUu0ppnOsLoNSfeUpP+bUKE9R8X2STXE4W5BLLD04kuwXosN/5gKAGKQmjkjqCBSQym 7P84Ix2K6dxkRK2R7ziNV0FxDpq9SEIHdo+vuTaxyncRc3iCNzRKJJXHNgiPaFR3q36E sUkw== X-Gm-Message-State: AO0yUKVSvxnUbLpTRcld2upN2MKdEJQcRzaxCIbvX1tO6/Eh/Io/YE56 p/LLDsqM9fX2GKR4qq7R/vD9bvMCRncuxm/ukciOFONT X-Google-Smtp-Source: AK7set+hx4ly6hzB+QDGx6BO2yB04aMC3rw/B+UC/d2DxbuIA0pQE0R2atXNc+GyLlGAifzHSJfjTHzvKeFbczVnvsA= X-Received: by 2002:a17:90a:420b:b0:237:29b1:188f with SMTP id o11-20020a17090a420b00b0023729b1188fmr10741044pjg.8.1678549372156; Sat, 11 Mar 2023 07:42:52 -0800 (PST) MIME-Version: 1.0 Received: by 2002:a05:6a10:c184:b0:448:d92c:1b8f with HTTP; Sat, 11 Mar 2023 07:42:51 -0800 (PST) In-Reply-To: <20230311112508.7306220145@orac.inputplus.co.uk> References: <20230309230130.q4I-f%steffen@sdaoden.eu> <20230310165552.czZmL%steffen@sdaoden.eu> <20230311112508.7306220145@orac.inputplus.co.uk> From: Paul Winalski Date: Sat, 11 Mar 2023 10:42:51 -0500 Message-ID: To: coff@tuhs.org Content-Type: text/plain; charset="UTF-8" Message-ID-Hash: MDLWLKNSJKIYHUJ6MK3DFTWJLDZEZXNJ X-Message-ID-Hash: MDLWLKNSJKIYHUJ6MK3DFTWJLDZEZXNJ X-MailFrom: paul.winalski@gmail.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 X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: continue N. (Was: I can't drive 55...) List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: Regarding the general subject of using GOTOs: The first computer on which I did hands-on programming was an IBM S/360 model 25. It had 32K of memory available for user programs--that's both instructions and data. It executed code at about a 30 KIPS (yes--KILO instructions/second) rate. When you're programming on a machine that is that slow and with that limited an address space, every instruction counts. You couldn't afford either the space or the time to execute conditional tests just to avoid a GOTO. Programming using GOTOs doesn't necessarily mean you're writing rat's nest or spaghetti code. Yes, you can make a mess using GOTOs, and perhaps messy code is easier when GOTOs are allowed, but structured programming just for its own sake can lead to convoluted and messy program structure as well. What was rat's nest control flow with GOTOs can turn into rat's nest data flow of state variables. It's also worth noting that one of the main functions of a modern optimizing compiler is to take your nice, structured program and put all those rat's nest GOTOs (unconditional branch instructions) back so the thing will execute more quickly. -Paul W.