[TUHS] What would early alternatives to C have been?
Dan Cross
crossd at gmail.com
Tue Mar 11 01:27:46 AEST 2025
On Mon, Mar 10, 2025 at 11:12 AM Larry McVoy <lm at mcvoy.com> wrote:
> On Mon, Mar 10, 2025 at 10:52:20AM -0400, Clem Cole wrote:
> > On Mon, Mar 10, 2025 at 10:41???AM Larry McVoy <lm at mcvoy.com> wrote:
> > > On Mon, Mar 10, 2025 at 03:12:06AM -0600, arnold at skeeve.com wrote:
> > > > I think, as in all things, "always use parentheses" can be carried
> > > > too far. I find
> > > >
> > > > if (a == b && c == d)
> > > >
> > > > perfectly reasonable, but
> > > >
> > > > if ((a == b) && (c == d))
> > > >
> > > > to be just silly.
> > >
> > > Color me silly then.
> >
> > Me too.
> >
> > > My eyes parse the "silly" form faster.
> >
> > Exactly.
> >
> > > And I was the boss so my eyes won. Over time, everyone at my shop came
> > > to agree with me.
> > > One mans silly is another mans faster reading.
> > >
> > The problem is that in the first form, you have to slow down to ensure you
> > have the order correctly, Maybe it's my dyslexia speaking, but the "extra"
> > parens make it clear without having to slow down.
>
> Exactly. It's not that Clem and I are stupid, we aren't.
Oh goodness; I hope we can all agree that no one was suggesting that!
> [snip] creates pointless work for other people.
Along these lines, I can't stand when people write, `if (!strcmp(a,
b)) { /* strings are equal */ }`
While true, I find the negation particularly annoying in this context,
and prefer either `if (strcmp(a, b) == 0) { ... }` or writing a small
`streq()` function that returns boolean true/false.
- Dan C.
More information about the TUHS
mailing list