Re:Learning to read Arthur Whitney's C to become Smart (2024)
by cozzyd on Monday November 03, 2025 @12:35PM
(#45801783)
The C preprocessor allows you to define a limited DSL on top of C. This is... sometimes a good thing, and often convenient, even if it makes it hard to understand.
[ Parent
| on HN ]
Re:Learning to read Arthur Whitney's C to become Smart (2024)
by jacquesm on Monday November 03, 2025 @04:53PM
(#45804897)
For extremely small values of 'sometimes' where sometimes is constrained by the following expressions evaluating to 'true':
- you have no interest in maintaining your code
- your code will never be maintained by someone else
- you know your C preprocessor better than you know your C compiler
- your favorite language isn't available for this particular target
- you don't mind object level debugging
- your idea of a fun time is to spend a few hours per day memorizing code
- you really are smarter than everybody else
Re:Learning to read Arthur Whitney's C to become Smart (2024)
by cozzyd on Tuesday November 04, 2025 @09:51AM
(#45811651)
It depends how far down the rabbit hole you go.
Something like JCON (originally from mongodb, see https://blogs.gnome.org/chergert/2016/10/21/jcon/) is actually pretty nice IMO.
Re:Learning to read Arthur Whitney's C to become Smart (2024)
by gitonthescene on Monday November 03, 2025 @05:08PM
(#45805020)
I think _all_ programming is about finding an appropriate DSL for the problem at hand. First you need to understand the “language” of the problem then you develop a “lingo”.