Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    B

    Barry Revzin

    brevzin.github.io · Personal blog · on HN since 2019

    Barry Revzin, a C++ standards committee contributor, writes technical posts on C++ features such as reflection, constexpr, and ranges, and compares them with Rust.

    Visit blogRSSHN submissions
    Languages & CompilersProgramming
    What HN says

    HN commenters link his posts when discussing C++26 reflection, if constexpr, and his comparison of Rust and C++ formatting.

    Stats for nerds
    31HN people shared it
    56linked in comments
    883story points
    Jun 2026last shared
    2021people per year2026

    Top posts on HN

    1. 1
      Comparisons in C++20
      1 person · 183 points · first shared 2019 · 130 comments on HN
    2. 2
      Implementing a Struct of Arrays
      5 people · 138 points · first shared 2025 · 50 comments on HN
    3. 3
      Code Generation in Rust vs. C++26
      2 people · 134 points · first shared 2024 · 91 comments on HN
    4. 4
      T* makes for a poor optional<T&>
      1 person · 87 points · first shared 2021 · 67 comments on HN
    5. 5
      What's so hard about constexpr allocation?
      3 people · 84 points · first shared 2024 · 35 comments on HN
    6. 6
      C++ : if constexpr isn't broken
      2 people · 74 points · first shared 2019 · 80 comments on HN
    7. 7
      Using Token Sequences to Iterate Ranges
      2 people · 30 points · first shared 2025 · Discussion on HN
    8. 8
      Reflecting JSON into C++ Objects
      4 people · 29 points · first shared 2025 · 5 comments on HN
    9. 9
      Declaratively implementing CPOs (customization point objects)
      1 person · 27 points · first shared 2019 · 2 comments on HN
    10. 10
      Type-based vs. Value-based Reflection
      1 person · 23 points · first shared 2025 · 3 comments on HN

    What HN people wrote when they linked it

    • gavinhowardJan 2023

      > What do more experienced people here think of that?

      "Experienced" person here. I've done a parser generator grammar or two. I've implemented several parsers.

      I mostly agree, but it depends on your use case.

      Most people writing parsers are doing so for a bespoke language, usually for config of an internal-use-only program or something like that. Such parsers won't be great, but they will work for people that:

      1. Know the language, or

      2. Are expected to know the language.

      In that case, I agree with Guy Steele.

      Why these two caveats? Because as people have said, error reporting from the parser will be subpar. This includes hand-written recursive descent ones. So knowing the language is important.

      (The second item is specifically for situations where new employees might not know the language yet, but it's part of their job, so they will learn it.)

      This is, by far, the greatest amount of parsers in use. I would estimate 99.5% or more.

      Of course, most people don't think about those parsers; they think about the hardened parsers for general-purpose languages in wide use, but while they get a lot of attention, they are few and far between.

      Guy Steele's advice doesn't apply as well to such situations. For me, I wrote a parser for an existing language. I had to write the parser to that, and that language had a lot of baggage. It made no sense in that case.

      For the parser I'm currently writing, it also makes no sense. This is for what I hope to become a widely-used…

    • jevndevJun 2026

      For what it’s worth, a common example of the capabilities of c++26 reflection is exactly this use case. I can’t remember where I first saw it, but this article [0] showcases the technique pretty well. It’s opt-in so not the compiler optimization that you’re imagining but still neat that it’s possible

      [0] https://brevzin.github.io/c++/2025/05/02/soa/

    • tialaramexJul 2023

      Barry Revzin's comparison to what Rust chose here is interesting

      https://brevzin.github.io/c++/2023/01/02/rust-cpp-format/

      I think Barry under-estimates how long it will be before C++ programmers actually get the equivalent of #[derive(Debug)] and as a result the impact on ergonomics. But of course I might be wrong.

    • teleforceSep 2021

      It seems that C++ is moving in a full speed following trail-blazed by D language than Bjarne will care to admit:

      https://brevzin.github.io/c++/2019/01/15/if-constexpr-isnt-broken/

    Related

    Fluent C++fluentcpp.com66 people

    Technical Debt Is Like a Tetris Game

    Fluent C++
    Personal · last shared 2025
    Bartek's Coding Blogbfilipek.com49 people

    Coding without Google

    Bartek's Coding Blog
    Personal · last shared 2021
    C++ Storiescppstories.com35 people

    Embracing Modern C++ Safely, Book Review

    C++ Stories
    Personal · last shared 2026
    Ralf Jungralfj.de99 people

    There is no memory safety without thread safety

    Ralf Jung
    Personal · last shared 2026
    foonathanfoonathan.net35 people

    Carbon’s most exciting feature is its calling convention

    foonathan
    Personal · last shared 2026
    C++ Truthscpptruths.blogspot.com17 people

    Covariance and Contravariance in C++ Standard Library

    C++ Truths
    Personal · last shared 2019
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Bluish Coderbluishcoder.co.nz77 people

    Using Freenet

    Bluish Coder
    Personal · last shared 2025