From: Dan Cross <crossd@gmail.com>
To: Kevin Bowling <kevin.bowling@kev009.com>
Cc: Anton Shepelev <anton.txt@gmail.com>, COFF <coff@tuhs.org>
Subject: [COFF] Re: [TUHS] Re: Minimum Array Sizes in 16 bit C (was Maximum)
Date: Tue, 26 Nov 2024 14:51:38 -0500 [thread overview]
Message-ID: <CAEoi9W4Y5C+m4eVgQN2v79tLtY0Fq9nyUZ-b0NYsVw=tVpmfRA@mail.gmail.com> (raw)
In-Reply-To: <CAK7dMtC=y+a6=vk_zrQSA659h8=td0YBpd0BTvxmAJowefm_VA@mail.gmail.com>
On Tue, Nov 26, 2024 at 8:48 AM Kevin Bowling <kevin.bowling@kev009.com> wrote:
> On Thu, Nov 21, 2024 at 6:53 PM Dan Cross <crossd@gmail.com> wrote:
>> [TUHS to Bcc:, Cc: COFF]
>>
>> On Mon, Nov 18, 2024 at 11:47 AM Anton Shepelev <anton.txt@gmail.com> wrote:
>> > Dan Cross <crossd@gmail.com> 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 books (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’t tend to care for the metaphysical and ceremonial stuff whence one starts talking about design patterns and scrum instead of doing the work so I haven’t paid attention.
>
> It’s a strong accusation to levy publicly and maybe should be explained.
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/1eba53c08fb530effb9d29aca8134f7acadfdd5f/src/topt.c
>> (not the current commit; he modified it somewhat after I sent him
>> https://github.com/unclebob/PDP8EmulatorIpad/commit/dbfa03e90a084a25992dff79e5064897bce5ef42,
>> which he did not acknowledge; see
>> https://github.com/unclebob/PDP8EmulatorIpad/pull/2/commits/84483cd4d60320cd6ca5637f2c062d9d0540cc4a
>> 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-till-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/qN8txMeOCAAJ)
>>
>> 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.
next prev parent reply other threads:[~2024-11-26 19:52 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAKH6PiUS7RjkCyuYREFk4Li+aORaEZ_Vu7Dg1nnsFuHJF+mqog@mail.gmail.com>
[not found] ` <CAKzdPgwJ7-_BWztOQKiB6h5a+OGwXtefsD47Fq+GDwGGF7N4UA@mail.gmail.com>
[not found] ` <CAFH29tqBw0Qpzqv=21SUZonL7w_tpB0i4Ts8PwQ-Akn5PvTvVw@mail.gmail.com>
[not found] ` <CAKzdPgzQTjruZ3Cc-Sfram5M=jM+emvsTGR+7GRtZUUzNhZOCg@mail.gmail.com>
[not found] ` <20240930003630.GE17434@mcvoy.com>
[not found] ` <e23f7d87-1d17-f484-74ad-53deb5cc278f@makerlisp.com>
[not found] ` <d2d70aa8-0d7c-0a1e-9152-a4f8c50ae33d@makerlisp.com>
[not found] ` <202410011243.491ChKiV419651@freefriends.org>
2024-10-01 13:20 ` [COFF] Shadowing variables in Go Ralph Corderoy
[not found] ` <20240930191216.tIpea9lo@steffen%sdaoden.eu>
[not found] ` <CACY3YMHzg+6U_zTuhMTORgfh_Kse6MTspaGDfuUjXb4vLvV9mw@mail.gmail.com>
[not found] ` <CAEoi9W46LRBBxQ22kM8kmvqHeTetXkp=jfUeDC+qu0kbvv+swA@mail.gmail.com>
[not found] ` <vhfa99$114r$1@ciao.gmane.io>
2024-11-22 1:53 ` [COFF] Re: [TUHS] Re: Minimum Array Sizes in 16 bit C (was Maximum) Dan Cross
[not found] ` <CAK7dMtC=y+a6=vk_zrQSA659h8=td0YBpd0BTvxmAJowefm_VA@mail.gmail.com>
2024-11-26 19:51 ` Dan Cross [this message]
2024-11-26 20:15 ` Larry McVoy
2024-11-27 1:03 ` Steffen Nurpmeso
2024-11-26 21:38 ` John Levine
2024-11-26 21:37 [COFF] " Douglas McIlroy
2024-11-27 8:50 ` [COFF] " Dan Cross
[not found] <CAFH29tp4fZR7ct57F-BmyqoJwwRfHkSbiVPS1mj89e-_gzhsHQ@mail.gmail.com>
2024-09-30 20:12 ` Jim Capp
[not found] <CAKH6PiUm-2d5w5-vHtTsMjcENpZjXfM9wdi-+hpaGRM7D3JCUw@mail.gmail.com>
[not found] ` <20240928165812.4uyturluj4dsuwef@illithid>
[not found] ` <20240928180559.GF9067@mcvoy.com>
2024-09-30 15:49 ` Paul Winalski
2024-09-30 17:59 ` Larry McVoy
2024-09-30 18:08 ` Dan Cross
[not found] ` <20240928180138.aygrwqdwrvq3n6xt@illithid>
[not found] ` <202410011313.491DD4ac421643@freefriends.org>
2024-10-01 16:40 ` Paul Winalski
2024-10-01 19:08 ` arnold
[not found] ` <20241001133231.GE13777@mcvoy.com>
[not found] ` <202410011347.491DlAsJ423777@freefriends.org>
[not found] ` <20241001140101.GG13777@mcvoy.com>
[not found] ` <024bd803-2852-c0d0-5f15-30ec65c45cb4@makerlisp.com>
[not found] ` <CAEoi9W471TKKwRSYNK7EoYwP-AZ4VDfva4LTNQoJ7cH9oFDd_g@mail.gmail.com>
2024-10-01 15:08 ` Stuff Received
2024-10-01 16:49 ` Paul Winalski
2024-10-04 3:57 ` Adam Thornton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAEoi9W4Y5C+m4eVgQN2v79tLtY0Fq9nyUZ-b0NYsVw=tVpmfRA@mail.gmail.com' \
--to=crossd@gmail.com \
--cc=anton.txt@gmail.com \
--cc=coff@tuhs.org \
--cc=kevin.bowling@kev009.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).