Top all-time · #3065
vector<bool>{ true, true, false };
Personal blog · vector-of-bool.github.ioprogramming
vector<bool>{ true, true, false }; is a personal blog at vector-of-bool.github.io about programming. Since 2018, 25 different Hacker News readers have linked it 41 times, most often “C++ Modules Might Be Dead-On-Arrival”. The last post was in 2024, but the archive is still widely read.
Too few sampled comments (19) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for its C++ modules critiques, especially the 2019 argument that modules did not speed up builds, and for posts on the DDS package tool and C/C++ project layouts.
Summarised by Claude from a sample of 19 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
The creations of a mad(dening) template specialization
Most-linked posts?
- C++ Modules Might Be Dead-On-Arrival9 people · 12 mentions · first linked 2019-01-28
- Are C++ Modules Dead-on-Arrival?3 people · 3 mentions · first linked 2019-03-04
- Understanding C++ Modules: Hello Modules, and Module Units3 people · 3 mentions · first linked 2019-03-11
- DDS: Build and library management tool for C, C++2 people · 3 mentions · first linked 2020-03-15
- Eliminating the Static Overhead of Ranges (C++20)2 people · 2 mentions · first linked 2020-08-16
- Misbehaving Signals2 people · 2 mentions · first linked 2019-09-09
What Hacker News says?
This is a bad answer too, IMO. I think there is a solid case for the existence of undefined behavior; even Rust has it, it's nothing absurd in concept, and you do describe some reasoning for why it should probably exist. However, and here's the real kicker, it really does not need to exist for this case . The real reason it exists for this case is due to increasingly glaring deficiencies in the C++ language, namely,…
Comment linking /2019/01/27/modules-doa.html
on “Matt Godbolt sold me on Rust by showing me C++”Submitted C++ Modules Might Be Dead-On-Arrival as a story · 272 points
HN discussionI've heard discussions that C++ modules didn't really give that much performance benefits as it initially claimed, when the dependency graph is huge and you have a large number of threads. Some links: - https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p14... - https://vector-of-bool.github.io/2019/01/27/modules-doa.html Are there any notable new updates related to this controversy?
Comment linking /2019/01/27/modules-doa.html
on “Cppfront, Herb Sutter's proposal for a new C++ syntax”Submitted Mysterious Memset as a story · 105 points
HN discussionI think different people will have different answers. The biggest complaint is that this slows down builds, of course, but it also requires hacks to avoid re-including the same header twice when you have complex header hierarchies [1][2], bleed-trough of macros and pragmas, and of course you have to write forward declarations for everything you intend to publicly expose, as opposed to using a "public" keyword. Hones…
Comment linking /2019/03/04/modules-doa-2.html
on “Httpserver.h: Single header library for writing non-blocking HTTP servers in C”Submitted A new decade, a new tool as a story · 83 points
HN discussionmodules were my #1 wanted feature in C++, but they are very disappointing to me: - they allow `.` in their names to signify hierarchy, but have no built-in notion of hierarchy or submodule. This means possible error messages will have to be suboptimal - they are orthogonal to namespaces, meaning if you have a module `foo.bar` any identifier it will export will be in the global namespace unless you put it in the `foo…
Comment linking /2019/03/10/modules-1.html
on “C++20, How Hard Could It Be”Submitted C++ Modules Might Be Dead-on-Arrival (2019) as a story · 44 points
HN discussionSome claim this, but I haven't seen it play out this way yet in what I have seen for modules; it could be that people are hyper-optimizing for serial performance when the future (and present!) is parallel? If so, :(. This article is possibly out of date--or maybe was wrong to begin with--but it shows how the modules concept from earlier this year simply broke parallel build efforts by enforcing a ton of serial depen…
Comment linking /2019/01/27/modules-doa.html
on “C++ 20: The Core Language”Submitted DDS: Build and library management tool for C, C++ as a story · 30 points
HN discussionhttps://vector-of-bool.github.io/2019/03/04/modules-doa-2.ht... The issue was that there's no language level definition of module implementation and layout so every build system may need to handle every single module implementation differently. The standard body decided to publish a technical report on this issue to ensure some level of interoperability across module implementations.
Comment linking /2019/03/04/modules-doa-2.html
on “C++20 has been approved”Submitted Understanding C++ Modules: Hello Modules, and Module Units as a story · 8 points
HN discussion> Single-Page-Apps can be fantastic. Most teams will mess them up because most teams operate in dysfunctional organisations. I don't think the vector-of-bool website, and the broken JS transitions, were designed by a dysfunctional organization (or an organization for that matter) (though the author has suffered from burnout: https://vector-of-bool.github.io/2019/05/23/signals.html ).
Comment linking /2019/05/23/signals.html
on “The Single-Page-App Morality Play”Submitted Stringy Templates as a story · 4 points
HN discussion> the root cause of every bad Single-Page-App isn’t that it’s a Single-Page-App. The root cause of https://vector-of-bool.github.io/ scrolling incorrectly when navigating between pages isn't due to bad management or lack of care, it's because it's a single page app that didn't handle scrolling correctly (which a browser would provide for free), and the author didn't notice despite coming in with good intentions.
Comment linking /
on “The Single-Page-App Morality Play”Submitted Misbehaving Signals as a story · 3 points
HN discussionSo the aforementioned death-on-arrival [1] was premature? Are there really implementations which end up faster as a result? [1] https://vector-of-bool.github.io/2019/01/27/modules-doa.html
Comment linking /2019/01/27/modules-doa.html
on “Catching use-after-move C++ bugs with Clang's consumed annotations”Submitted Are C++ Modules Dead-on-Arrival? as a story · 3 points
HN discussionIn single-page apps, navigating between pages is hard to get right. https://vector-of-bool.github.io/ implements its own JavaScript-powered page turning. However if you press End on a long page, then navigate to a short page and back to the long page, the browser's scroll position gets truncated. In the "Instant Multi-Page App", navigating between pages "just works".
Comment linking /
on “Your single-page app is now a polyfill”Submitted C++ Modules Might Be Dead-on-Arrival as a story · 2 points
HN discussionThanks for the learned response! I just did some research, and https://stackoverflow.com/a/367662/590534 has a good overview over undefined behaviour on the syntax level. Oh, I don't doubt that the standard authors were smart, and worked within the constraints that were prevalent at the time. Their justified genesis doesn't make the outcomes less bizarre. (And especially for C++, most of the later features are essen…
Comment linking /2019/01/27/modules-doa.html
on “One Word Broke C”Submitted Eliminating the Static Overhead of Ranges (C++20) as a story · 2 points
HN discussionTemplates are duck typing at C++ compile time (which is their runtime). Yes, concepts should help. 'Modules via copy-and-paste' (= #include) is what I would hurl at C++ these days. Though they are working on that as well, I heard. Though https://vector-of-bool.github.io/2019/01/27/modules-doa.html doesn't sound hopeful.
Comment linking /2019/01/27/modules-doa.html
on “How to write better game libraries”Submitted Understanding C++ Modules: Linkage and Fragments as a story · 2 points
HN discussionSee also: Are modules fast? https://bfgroup.github.io/cpp_tooling_stats/modules/modules_... One reason why this might not be so simple is that what is often measured as a potential for speed improvement is I/O, as in "lines of code a compiler needs to read to process a translation unit". However what happens is that C++ compilers are usually CPU-bound, not I/O bound. What happens also is that C++, very differently f…
Comment linking /2019/01/27/modules-doa.html
on “The Little Things: Speeding up C++ compilation”Submitted The Dumbest Allocator of All Time as a story · 2 points
HN discussionSeriously, why? They are broken. https://vector-of-bool.github.io/2019/01/27/modules-doa.html
Comment linking /2019/01/27/modules-doa.html
on “GCC 16 considering changing default to C++20”Submitted Co_resource: An RAII Coroutine as a story · 1 points
HN discussionTLDR, as I see people complaining about the length of the author's blog post: - the author mentions his work on "libman", a common format to describe C and C++ libraries. The idea is to have a manifest format that can be emitted by a package manager, then consumed by any build tools that supports it. The main example is "Conan (a C++ package manager) generates the libman file, CMake uses it for its build process". S…
Comment linking /docs/dds/index.html
on “A new decade, a new tool”Submitted Eliminating Static Overhead of Ranges as a story · 1 points
HN discussion