←back to thread

The provenance memory model for C

(gustedt.wordpress.com)
224 points HexDecOctBin | 2 comments | | HN request time: 0s | source
Show context
lioeters ◴[] No.44422394[source]
Looks like a code block didn't get closed properly, before this phrase:

> the functions `recip` and `recip⁺` and not equivalent

Several paragraphs after this got swallowed by the code block.

Edit: Oh, I didn't realize the article is by the author of the book, Modern C. I've seen it recommended in many places.

> The C23 edition of Modern C is now available for free download from https://hal.inria.fr/hal-02383654

replies(3): >>44422457 #>>44422685 #>>44423321 #
johnisgood ◴[] No.44422457[source]
It is a great book. I prefer the second edition, not the latest one though with what I call "bloated C".
replies(1): >>44425842 #
laqq3 ◴[] No.44425842[source]
I'm wondering if you could elaborate? I'd be curious to hear more about "bloated C" and the differences between the 2nd and 3rd edition.
replies(1): >>44442670 #
1. lioeters ◴[] No.44442670[source]
I was curious about this too, and found some discussion related to the topic of "bloated C" when the 3rd edition was announced.

The C23 edition of Modern C - https://news.ycombinator.com/item?id=41850017

Like this comment:

> Wow, the use of attributes like [[__unsequenced__]], [[maybe_unused]] and [[noreturn]] throughout the book is really awful. It seems pretty pedantic of the author to litter all the code examples with something that is mostly optional.

Or this one:

> Personally this just makes C much more complicated for me, and I choose C when I want simplicity. If I want complicated, I would just pick C++ which I typically would never want.

Examples of what people consider "bloat" in newer C standards:

    _BitInt(N), guard, defer, auto, constexpr, nullptr

    _generic, typeof, restrict, syntax based tls
replies(1): >>44449104 #
2. johnisgood ◴[] No.44449104[source]
Yeah, I have a comment that I cannot find right now, they mention many of these things as well. They are all C++-esque, i.e. bloat, in my opinion.

Edit: oh, you actually did quote me, too: https://news.ycombinator.com/item?id=41854897

In any case, thank you.