←back to thread

The provenance memory model for C

(gustedt.wordpress.com)
224 points HexDecOctBin | 8 comments | | HN request time: 0.403s | source | bottom
1. 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 #
2. 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 #
3. shakabrah ◴[] No.44422685[source]
It made immediate sense to me it was Jen once I saw the code samples given
4. zmodem ◴[] No.44423321[source]
> Looks like a code block didn't get closed properly

This seems to have been fixed now.

replies(1): >>44426141 #
5. 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 #
6. perching_aix ◴[] No.44426141[source]
I still see it, even after clearing caches, visiting from a separate browser from a separate computer (even a separate network).
7. lioeters ◴[] No.44442670{3}[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 #
8. johnisgood ◴[] No.44449104{4}[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.