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,HTML_MESSAGE,MAILING_LIST_MULTI, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 27497 invoked from network); 6 Feb 2022 15:42:24 -0000 Received: from minnie.tuhs.org (45.79.103.53) by inbox.vuxu.org with ESMTPUTF8; 6 Feb 2022 15:42:24 -0000 Received: by minnie.tuhs.org (Postfix, from userid 112) id 6A2089BD5A; Mon, 7 Feb 2022 01:42:23 +1000 (AEST) Received: from minnie.tuhs.org (localhost [127.0.0.1]) by minnie.tuhs.org (Postfix) with ESMTP id 2D8809B8B1; Mon, 7 Feb 2022 01:42:15 +1000 (AEST) Authentication-Results: minnie.tuhs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gh1iqmN9"; dkim-atps=neutral Received: by minnie.tuhs.org (Postfix, from userid 112) id 7F4239B8B1; Mon, 7 Feb 2022 01:42:13 +1000 (AEST) Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) by minnie.tuhs.org (Postfix) with ESMTPS id 89AE39B68F for ; Mon, 7 Feb 2022 01:42:12 +1000 (AEST) Received: by mail-pl1-f171.google.com with SMTP id z5so9335832plg.8 for ; Sun, 06 Feb 2022 07:42:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=XmX/RkecH3u6Vn0hGa+y6ZpPDzTtbf2jExuIRbL7ShQ=; b=gh1iqmN96fsy9SHwSyo6WOjXbf4DFTl8/Itvhkd2R9Qe/+JIImkEDbkqYwEFjT/WJK z5FEBuTME7qsvYyB3wKerMPPflwXsvCedyKooK1DNk3iaUf7cZx9ZVthMxc2R5ateWs1 lGN4i628pBC6Q73AHMQb12vxoZEa7Yh2oMSWyjH6iPRvqNx6dq18TAluXYpjDsHo3wMm PZUWA8bz2zkHweicKXKuLj8HCfqaxQnBthPihl7HEBgR4Tivs7l2TOupX8YSoiPv6zys KabGj4lAPwVeWe+Y00ua1JfANhCBkmSxdbJyZJGr5GjwlQirEMsu1v6DfY1Y9m4iNFn0 mN4Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=XmX/RkecH3u6Vn0hGa+y6ZpPDzTtbf2jExuIRbL7ShQ=; b=si9KdxW5vuccc1u6AbwWk7Qd28LfYynWNFJWQAmhJ/TdzPEC4nywCWT0Sagx5mJ8eH 3x/uDR86mZ7i5e7flEaxp+su65EUro8yW+/lugcDUUp06r/XjK/xCwvSQCLViSHZTgK3 r9ifEI8MSMbr+IMcx5OLddXaxM3vyTHVNXwRQF1bq2KglKD+zMgPBmSQCnGbr1Po9i3Y Q/L4a130ZC93SFmkUqqDuLn0imj4/lpEnbP+6iLe9NN8uCAwKrLB+nr24BKW6QJqSMm+ T7VLN+b4uvrdeYQ4pCw0rITR6SNJqtLCiJ5rZz/SexEvbc375eiJmfcuUKW7RT2cbYkk RyCA== X-Gm-Message-State: AOAM531o2vYGw4pcpMrVBpPK7z2AIrKK+lXDfND8YVMU2VYBpcDwhXJv 3qQyezmiJPzUviX7palfHp0O3U6RoPjd7VGY1ogzoAhbvAM= X-Google-Smtp-Source: ABdhPJxE6VRsj6suoiltExzOE9McvOct54GishjIu+3uzidVOjTltKRLN9ZGns932eKANUZ2FTmgx+j1mB6n1sTXuak= X-Received: by 2002:a17:90a:d343:: with SMTP id i3mr13982739pjx.104.1644162131188; Sun, 06 Feb 2022 07:42:11 -0800 (PST) MIME-Version: 1.0 References: <202202011537.211FbYSe017204@freefriends.org> <20220201155225.5A9541FB21@orac.inputplus.co.uk> <202202020747.2127lTTh005669@freefriends.org> <7C19F93B-4F21-4BB1-A064-0307D3568DB7@cfcl.com> <1nFWmo-1Gn-00@marmaro.de> <202202040234.2142YeKN3307556@darkstar.fourwinds.com> In-Reply-To: From: Adam Thornton Date: Sun, 6 Feb 2022 08:42:00 -0700 Message-ID: To: COFF Subject: Re: [COFF] Zig (was Re: more about Brian... [really Rust]) X-BeenThere: coff@minnie.tuhs.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: Computer Old Farts Forum List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: multipart/mixed; boundary="===============4975189410983474436==" Errors-To: coff-bounces@minnie.tuhs.org Sender: "COFF" --===============4975189410983474436== Content-Type: multipart/alternative; boundary="000000000000c85e8605d75b53aa" --000000000000c85e8605d75b53aa Content-Type: text/plain; charset="UTF-8" Something Larry said right before the discussion moved over here, and a conversation I was having some in a different place last week: "languages with guard rails" I'm not gonna complain about them. Don't get me wrong: I love v6 and v7 Unix, and the Lions book is great, and I have enjoyed "int? Pointer? Why should I care?" plenty of times. I've done my share of Perl golfing. But on the other hand: languages with strong typing and happening-for-me memory management, while they may be more constraining if I'm going to be writing something new, of my own design, from a blank slate... Most of my career has been spent not doing that. A lot more of it has been being handed a pile of code that was written by someone who left the company a couple years before I got there, and being told to find out why it began breaking last week, and that the company is leaking money every time it breaks. And in that circumstance, I really don't want clever in the code I'm looking at. I don't want to have to figure out that some chunk of memory is a stealthily-declared union that usually holds a pointer to a character string except sometimes it holds an int whose value is meaningful. I want to be able to look at it and see, from the structure and the type annotations, what the intent of the code was, because when that's clear, it's usually a lot easier to figure out what's subtly wrong with the implementation. --000000000000c85e8605d75b53aa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Something Larry said right before the discussion move= d over here, and a conversation I was having some in a different place last= week:

"languages with guard rails"

I'm not gonna complain about them.=C2=A0 Don't= get me wrong: I love v6 and v7 Unix, and the Lions book is great, and I ha= ve enjoyed "int?=C2=A0 Pointer?=C2=A0 Why should I care?" plenty = of times.=C2=A0 I've done my share of Perl golfing.

<= /div>
But on the other hand: languages with strong typing and happening= -for-me memory management, while they may be more constraining if I'm g= oing to be writing something new, of my own design, from a blank slate...

Most of my career has been spent not doing that.=C2= =A0 A lot more of it has been being handed a pile of code that was written = by someone who left the company a couple years before I got there, and bein= g told to find out why it began breaking last week, and that the company is= leaking money every time it breaks.=C2=A0 And in that circumstance, I real= ly don't want clever in the code I'm looking at.=C2=A0 I don't = want to have to figure out that some chunk of memory is a stealthily-declar= ed union that usually holds a pointer to a character string except sometime= s it holds an int whose value is meaningful.=C2=A0 I want to be able to loo= k at it and see, from the structure and the type annotations, what the inte= nt of the code was, because when that's clear, it's usually a lot e= asier to figure out what's subtly wrong with the implementation.
<= /div> --000000000000c85e8605d75b53aa-- --===============4975189410983474436== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KQ09GRiBtYWls aW5nIGxpc3QKQ09GRkBtaW5uaWUudHVocy5vcmcKaHR0cHM6Ly9taW5uaWUudHVocy5vcmcvY2dp LWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvZmYK --===============4975189410983474436==--