From: Dan Cross <crossd@gmail.com>
To: Anton Shepelev <anton.txt@gmail.com>
Cc: COFF <coff@tuhs.org>
Subject: [COFF] Re: [TUHS] Re: Minimum Array Sizes in 16 bit C (was Maximum)
Date: Thu, 21 Nov 2024 20:53:03 -0500 [thread overview]
Message-ID: <CAEoi9W6M1dDtvLeJ6F49MV0ZcGqrk=7gvewS6VxF03K+6heCBA@mail.gmail.com> (raw)
In-Reply-To: <vhfa99$114r$1@ciao.gmane.io>
[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?
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-22 1:53 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 ` Dan Cross [this message]
[not found] ` <CAK7dMtC=y+a6=vk_zrQSA659h8=td0YBpd0BTvxmAJowefm_VA@mail.gmail.com>
2024-11-26 19:51 ` [COFF] Re: [TUHS] Re: Minimum Array Sizes in 16 bit C (was Maximum) Dan Cross
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='CAEoi9W6M1dDtvLeJ6F49MV0ZcGqrk=7gvewS6VxF03K+6heCBA@mail.gmail.com' \
--to=crossd@gmail.com \
--cc=anton.txt@gmail.com \
--cc=coff@tuhs.org \
/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).