From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.4 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,URIBL_SBL_A autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [IPv6:2600:3c01:e000:146::1]) by inbox.vuxu.org (Postfix) with ESMTP id C0F922024D for ; Tue, 26 Nov 2024 20:52:33 +0100 (CET) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id DD746427DB; Wed, 27 Nov 2024 05:52:29 +1000 (AEST) Received: from mail-lj1-x236.google.com (mail-lj1-x236.google.com [IPv6:2a00:1450:4864:20::236]) by minnie.tuhs.org (Postfix) with ESMTPS id DDFDB425FD for ; Wed, 27 Nov 2024 05:52:17 +1000 (AEST) Received: by mail-lj1-x236.google.com with SMTP id 38308e7fff4ca-2ffc76368c6so39748311fa.0 for ; Tue, 26 Nov 2024 11:52:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732650736; x=1733255536; darn=tuhs.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=SUxwfQpAckXePc/AFTvkiZBLMeru9ssAs/fCbIiI1Nw=; b=IMuPfz/mPYj1ksfV+gBEOHd83+UC7EowFVNwoHScoEXAakGJlirqe6QdDguFX6/8Yt Wy6IxvNhhvHcNo5pt5Rgc4gQdYIh06fExYY25uux1ydWESXtTx4DRL/I2HE85Sm9O6G6 O5Ye6rSc4sAJsZyp1XeWWtLOgSidFb5gJUkTqSFss4tSxmDsLKH6jRxZvHkY13hs88xq jyIqgTO8gq3Ngcbow+Afoo/7IoEe3TKG6RxjAm1fq6N4m34AfflAFcIXq9CVp77U8Tv2 wLJmxJoCL5IWgEdDRz8HZU2H7Vz5qcMSvtFWTQTZGZhPB8XPbmmvxWpOiQWwkyYx2j5B Bo2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732650736; x=1733255536; h=content-transfer-encoding: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=SUxwfQpAckXePc/AFTvkiZBLMeru9ssAs/fCbIiI1Nw=; b=GiaKfV+E6GV0144kvR3hCbyg7VvxcitXoHCrq/FwSU4iNYg3agZjlbC1FUxNqi+4eL OZ7oim5QN9hrYwt+ZIvQDu16jokZftCtbDKxbsmgggVTPAc+GCRFnXbFwBNXqHoJDf6X qkx6Xw0Ss7ikyf8emml12miq4OI7VQbZxrNFz3EOUSsh6XjQahEy9UMGl+5MeS7H2EtB qsY3RTGNEUevjZ4kLTi6UAGCzgVM/Ylg4i9u5X3GLU66PRNSVaxwedcEqSNodnJDIeXc G0GxGowYs8ytPUal6piL7hm1fkNnWaZYx4tt+F6Q2weIZUUWn+HXbO2aXKh0CZbn6U9s vqHA== X-Forwarded-Encrypted: i=1; AJvYcCWAH+fkVfgaG6DDyWee3RdpHJU5hV8EjUp3x8zS8pYk74z4xspMS7x7Nz/hf/KH7gMlo90h@tuhs.org X-Gm-Message-State: AOJu0Yz5fGvCcl5Cd7QZDYKCHsEZb8Mz/JvEQwAcW6HkKEazSs3dODGl fQkbGNKpWWXEk3WxGbBLqD0to+plDEalPEqW92xn66QhRiEaAK6m8HD0MyAcQSP2A+g2WY4XX6e FsXDhp8mhyMrID0IryOHcUyRjMD6UCZ5r X-Gm-Gg: ASbGncvjnA1nluBPz563FnLv9Dv073oFYu0Wa1V5kNVWZr1IBCPVYW6XVmxuhIRmF/P 13BW1pykApsfN3UMVkPzYDhAXb0/ywxV1OHX1ofUsZjtrNTwOr0pv5uzjoKb3XKkm X-Google-Smtp-Source: AGHT+IEdssHfEWmIrq+0ti6OzRQdzrbnorVUqD7iHib89HdCrLSM1PW3vFXjHB4PEMZ//K9yN1AdxdMyTWniiVjU+Z4= X-Received: by 2002:a2e:bc22:0:b0:2ff:55f0:ae52 with SMTP id 38308e7fff4ca-2ffd5fcc3f2mr2814481fa.4.1732650735651; Tue, 26 Nov 2024 11:52:15 -0800 (PST) MIME-Version: 1.0 References: <20240930191216.tIpea9lo@steffen%sdaoden.eu> In-Reply-To: From: Dan Cross Date: Tue, 26 Nov 2024 14:51:38 -0500 Message-ID: To: Kevin Bowling Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Message-ID-Hash: Z3SIVZCIHHM2LY33LWINWE24IMQFE6M6 X-Message-ID-Hash: Z3SIVZCIHHM2LY33LWINWE24IMQFE6M6 X-MailFrom: crossd@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 CC: Anton Shepelev , COFF X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [COFF] Re: [TUHS] Re: Minimum Array Sizes in 16 bit C (was Maximum) List-Id: Computer Old Farts Forum Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: On Tue, Nov 26, 2024 at 8:48=E2=80=AFAM Kevin Bowling wrote: > On Thu, Nov 21, 2024 at 6:53=E2=80=AFPM Dan Cross wrot= e: >> [TUHS to Bcc:, Cc: COFF] >> >> On Mon, Nov 18, 2024 at 11:47=E2=80=AFAM Anton Shepelev wrote: >> > Dan Cross wrote: >> > >Programmer ability is certainly an issue, but I would suggest that >> > >another goes back to what Rob was alluding to: compiler writers have >> > >taken too much advantage of UB, making it difficult to write >> > >well-formed programs that last. >> > >> > Following the letter, rather than the spirit, of the standard? >> >> Pretty much! >> >> > [snip] >> > >My sense is that tossing in bad programmers is just throwing gasoline >> > >onto a dumpster fire. Particularly when they look to charlatans like >> > >Robert Martin or Allen Holub as sources of education and inspiration >> > >instead of seeking out proper sources of education. >> > >> > I am a bad one as well, to have liked some things in Martin's books >> > /Clean Code/ and /Clean Architecture/ . True, heis no Wirth, nor >> > Dijxtra, nor Knuth, but why a charlatan? > > And what about Hollub? Pretty much the same thing. > A long time ago I came across and seemed to think some of his earlier boo= ks (on C) were ok. Yeah. He wrote a book about compilers, but as near as I can tell, it's mostly material regurgitated from the Dragon Book, just a different presentation, and a less academic focus. Curiously, he's in the acknowledgements for K&R (I forget which edition). I guess he read an early draft? > Looking lately, I don=E2=80=99t tend to care for the metaphysical and cer= emonial stuff whence one starts talking about design patterns and scrum ins= tead of doing the work so I haven=E2=80=99t paid attention. > > It=E2=80=99s a strong accusation to levy publicly and maybe should be exp= lained. Many of Hollub's claims are ridiculous on the face of them ("you don't need a bug tracker! You don't need schedules! Code should be written by 'mobbing'!" Here's a representative example: https://twitter.com/allenholub/status/1734661813638459843 In that tweet he writes, "What we do involves essentially no mathematical analysis of anything. We are not doing math.If you're building a system that requires math, then the math is part of the _domain_, not the development process." I suppose he's never heard of time or space complexity analysis of algorithms? Or how about this one: https://twitter.com/allenholub/status/1827790079617892675 "A PR [Pull Request] is necessary only when someone you don't trust writes code in isolation. It's essential for OS work, for example, or if you're working using scatter/gather [https://bit.ly/3XYLhb3]. It's also a complete waste of time if you're working in a mob#/ensemble (or even a pair) because the code is reviewed as it's written." I suppose he's never worked someplace with a real, rigorous review culture. Also, https://x.com/allenholub/status/1634050850434826240 A few others: https://x.com/allenholub/status/1594859115557232640 https://x.com/allenholub/status/1613609655519019008 https://x.com/allenholub/status/1656811047783899138 https://x.com/allenholub/status/1610708432331632641 He has some code on Github that's relatively recent. It's not very good. - Dan C. >> Briefly, because he writes with unwarranted confidence, and just isn't >> a very good programmer himself. >> >> He writes with an authoritative voice about things that he doesn't >> know very much, if anything, about. For example, the things he's >> written about static typing in programming languages are complete >> nonsense. Sriram Krishnamurthi called him out on that >> (https://x.com/ShriramKMurthi/status/1136411753590472707) and he did >> not respond well, doubling down on his unfounded opinions >> (https://blog.cleancoder.com/uncle-bob/2019/06/08/TestsAndTypes.html). >> Later, he justified his opinion by making allusions to the amount of >> time he's been programming >> (https://blog.cleancoder.com/uncle-bob/2021/06/25/OnTypes.html). Hey, >> when it comes to logical fallacies centered on appeals to length of >> experience, well...I swooshed a basketball for the first time more >> than 40 years ago, but I've given up any dream I may have ever had of >> being a point guard in the NBA. Just doing something for a long time >> doesn't mean you're good at it. >> >> Robert Martin doesn't write production-quality code, period. He claims >> to "ship" lots of code, but acknowledges that most of that is example >> code for his books and personal side-projects. But the code examples >> he has publicly available are not particularly well-structured, >> readable, or maintainable. For a particular egregious example, see >> https://github.com/unclebob/PDP8EmulatorIpad/blob/1eba53c08fb530effb9d29= aca8134f7acadfdd5f/src/topt.c >> (not the current commit; he modified it somewhat after I sent him >> https://github.com/unclebob/PDP8EmulatorIpad/commit/dbfa03e90a084a25992d= ff79e5064897bce5ef42, >> which he did not acknowledge; see >> https://github.com/unclebob/PDP8EmulatorIpad/pull/2/commits/84483cd4d603= 20cd6ca5637f2c062d9d0540cc4a >> for the timeline). >> >> And while that small program is a particularly bad example, other bits >> of his code are also bad. Ousterhout was asked to comment on his >> "extract till you drop" approach and presented with a "refactoring" >> Martin did of a program due to Knuth >> (https://sites.google.com/site/unclebobconsultingllc/one-thing-extract-t= ill-you-drop). >> Ousterhout responded that he was "bewildered and horrified" by the >> approach. As Ousterhout put it, "He has taken 25 lines of code that >> are pretty straightforward and easy to understand, and turned them >> into 38 lines with 9 methods, none of which has a stitch of >> documentation. What was the point of this?" >> (https://groups.google.com/g/software-design-book/c/Kb5K3YcjIXw/m/qN8txM= eOCAAJ) >> >> These are all typical of Martin's approach. Hence why I say the man is >> a charlatan. Others have written at length about why, and how, his >> advice is generally bad. >> >> - Dan C.