C++: The Documentary

(herbsutter.com)

110 points | by ingve 3 hours ago

9 comments

  • jdw64 48 minutes ago
    It's surprising that C++'s development trend continues.

    When a game or program is made with C++, it's usually nice because performance is mostly guaranteed. But if someone told me to write C++ myself, I'd cry. There's too much to memorize, and the standards are too varied. When I go to a project site for maintenance and it's a C++ project, I instantly lose energy — because it's just too difficult.

    I'd be happy if someone else wrote it, but it's not a language I want to write myself

    • bayindirh 46 minutes ago
      Personally I don't find programming with C++ that hard. The downside is it needs a brain warm-up, and this is per project, but once that flywheel is spinning, I find it almost effortless to write code.

      I have to go through the same warm-up more or less for any language I work with, so it's not that different than writing Python, Go or Java for me.

      • jdw64 42 minutes ago
        There are so many standards and idioms that it gets confusing. There are still legacy codebases out there — some codebase still use C++98 as their standard, others use C++11... And with Unreal Engine, the modern C++ standard is C++14, right? There are things like smart pointers, but some places don't even use them. I feel like there are just too many features. When I saw template metaprogramming — that new feature — I realized I have no talent for C++.
        • bayindirh 34 minutes ago
          I have developed things with C++98, C++11 and C++14. Every of these standards are so vast, so remembering everything (even in a single standard) is not possible. Instead of knowing everything, I first fix the standard I want or need to work with.

          Then I design the thing I want to build. I always design what I want to build beforehand. This takes a couple of iterations from high level to low-ish level. That last design becomes a bit language dependent. Then I select some of the core tools that I'm going to use (which kind of pointers, classes or structs, etc.)

          With that design in mind, I go "library shopping" both for file formats (if any) or other stuff like vectors, etc.

          Armed with the reference docs of these, I write my code with the toolbelt I have built for the project.

          Some things are hard, but they are not impossible. I find thinking like compiler helps a lot.

    • flohofwoe 11 minutes ago
      For games, C++ becomes a much simpler language since game code bases usually ignore the C++ stdlib (at least mostly, and for good reasons, e.g. see [0]). And without the stdlib C++ is actually kinda-sorta okay-ish.

      Related, the main problem with the C++ ecosystem is that everybody carves out their own language subset, so it's not one ecosystem but many ecosystems with contradicting styles and language/stdlib subsets. This makes code reuse via libraries much harder than it should be.

      [0] https://hftuniversity.com/post/the-c-standard-library-has-be...

      • samiv 0 minutes ago
        If you don't use the STL you end up re-implementing it yourself. Usually poorly.
      • Chaosvex 4 minutes ago
        That article probably isn't the best source to cite. You can look at the discussions on it elsewhere, although I'd just dismiss it as slop.

        The standard library is mostly fine to use unless you have specific needs.

        • flohofwoe 2 minutes ago
          The article might be slop, but the problems described in it are definitely real ;)
    • zerr 13 minutes ago
      You can be pretty productive even with 70% of the language :) It is a common misconception that C++ is suitable only for game engines and similar domains. It is perfectly fine for applications domain as well.

      As a side note, regarding your profile info, unless you are based in North Korea, please at least add one 0 to your rate. You'll get more long-term and high-quality clientele.

      • jdw64 7 minutes ago
        Honestly, I don't expect to find clients here. Fundamentally, you have to trust me to give me work. The amount of money doesn't really matter much to me.
    • nnevatie 36 minutes ago
      The language is fine, mostly, nowadays.

      The ecosystem isn't fine - just to get a project going requires picking a non-trivial set of tools and approaches, none of which the C++ standard enforces or guides to.

      For example, will you manage dependencies via packages? If so, with what? What will you use for building your project? The list goes on and on.

      • bayindirh 31 minutes ago
        I personally find the lack of native package management in C++ as a blessing. Go, Python, Rust has it, and this always causes pulling in infinite number of packages for any trivial operation.

        sudo-rs was pulling in 1M+ LOC as its dependency chain at one point. I believe they removed the biggest offenders, but I didn't check it recently.

    • logicchains 16 minutes ago
      >There's too much to memorize, and the standards are too varied. When I go to a project site for maintenance and it's a C++ project, I instantly lose energy — because it's just too difficult.

      If you'd already been using it for 10+ years you wouldn't feel that way, because you'd already have memorized a lot of it.

  • grugdev42 0 minutes ago
    Thank you for releasing this for free! :)
  • bdamm 1 hour ago
    Since I've been working in C++ a lot recently I decided to watch the video as I waited for a build to complete. So the length is about right. And fortunately, the video is a delight!
    • zeafoamrun 55 minutes ago
      I have read as much as I can on the history of C++ and I'm looking forward to watch this. I find the process of it's evolution deeply fascinating.
  • Tomte 46 minutes ago
    I‘m out of the loop: we‘ve had Python, Clojure and possibly something else recently. Is that a series by the same people working through several languages? Is it happenstance? Is it a trend, and every programming language is now scrambling to get their own video documentary?
  • claiir 1 hour ago
    > currently (as of Q3 2025) the fastest-growing of the top four languages in the world… +90% users in the past 3.5 years.

    Because of AI, right?

    • raincole 11 minutes ago
      If this is a rhetorical question I genuinely don't know what's the implied answer. Why would AI specifically make C++ grow?
      • DesaiAshu 0 minutes ago
        A few reasons: 1. Header files make C++ verbose. Header files are well within LLM's ability 2. LLMs can handle setting up cmake for you 3. C++ is very well documented relative to (most) newer languages 4. LLMs can port modern features like websockets and build API wrappers easily, reducing the disadvantage against web (since most documentation is for JS/python/go)

        Coding languages have been developing for speed of (manual) writing - akin to how human languages did with modern alphabets. Now that writing is a lot easier, languages will likely evolve towards a focus on execution (or in the case of human languages, speed of reading and precision of understanding)

    • bayindirh 48 minutes ago
      Let's assume that it's because of AI for this case.

      Is this good or bad?

    • visha1v 50 minutes ago
      but do vibe coders even use c++? won't they use js or python?
  • gizajob 36 minutes ago
    Is it better than the Erlang documentary?
    • zerr 25 minutes ago
      Hello Mike.

      (if you mean that film, most likely no.)

      • gizajob 20 minutes ago
        Hello Joe. Is the system working?
  • keyle 37 minutes ago

             +90% users in the past 3.5 years
    
    huh? That is incredible growth. How is it even measured?
  • scott01 1 hour ago
    [flagged]
    • _hao 57 minutes ago
      I have the utmost respect for Casey, but his disdain for Stroustrup is unfounded. The fact of the matter is C++ occupied a niche in the right place and at the right time, and it grew from there. Many mistakes have been made, but Stroustrup is in no way personally responsible for all of them and I don't think Stroustrup is a bad programmer (something I've heard Casey say in some of his videos). You can argue that the committee route is not the best, but C++ is here to stay and by some metrics adoption is actually growing.
      • wiseowise 14 minutes ago
        > You can argue that the committee route is not the best, but C++ is here to stay and by some metrics adoption is actually growing.

        You can argue that chemical companies route is not the best, but cancer is here to stay and by some metrics adoption is actually growing.

      • panstromek 50 minutes ago
        [dead]