9 ms·
C++: The Documentary
- bdamm 4mo agoSince 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 4mo agoI 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.
- tonyedgecombe 4mo agoI feel drawn to watch it in the same way I was drawn to watch Breaking Bad.
- abcd_f 4mo ago> the process of it's (sic) evolution deeply fascinating. ... as it is disappointing. Not everything that can be done should be done.
- stackghost 4mo agoWow is this just a shitpost (it was funny!) or do your builds actually take about an hour? That's nuts, if so.
- wavemode 4mo agoA fresh build of a large C++ project taking 1 hour does not sound strange at all. If that's an incremental build though (i.e. simply rebuilding after changing a few files), there's something very wrong.
- darknavi 4mo agoFASTBuild has been a game changer for our team recently if you have extra hardware sitting around. https://www.fastbuild.org/docs/home.html https://www.fastbuild.org/docs/home.html
- surajrmal 4mo agoYour org needs better distributed build caching if you can't get that number lower. All builds should be "incremental" with appropriate caching.
- wavemode 4mo agoNot everyone in the world who compiles a C++ project is necessarily doing so for an "org"
- account42 4mo agoIt does if you have an even remotely reasonably specced development machine.
- bdamm 4mo agoYes, although in all honesty the actual compilation is somewhat small compared to the many layers of unit, simulation, integration, and regression tests. All those corner cases take a long time to explore.
- scott01 4mo ago[flagged]
- _hao 4mo agoI 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.
- panstromek 4mo agoCasey also got less aggressive when talking about Stroupstrup lately, especially after his last talk at Better software conference, where he mentioned him multiple times with a lot more historical context.
- wiseowise 4mo 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.
- deleted 4mo ago[deleted]
- scott01 4mo agoI agree. His negativity has probably detracted quite a few people from him that otherwise are quite aligned. Still, his historical remark is rather peculiar. As for the language, yes, sadly, it’s with us seemingly to stay. I code it professionally and I can’t find a single interesting, or even good, thing about it. Apart from wide adoption of course. Everything about it feels extremely badly designed from the user perspective (though it’s probably technically very impressive) with many details, that probably the sanest strategy is to use a small subset of the language. At least I don’t have to use STL at work, that’s something positive, I guess :)
- deleted 4mo ago[deleted]
- claiir 4mo 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?
- visha1v 4mo agobut do vibe coders even use c++? won't they use js or python?
- tialaramex 4mo agoReddit's r/cpp has always had some level of "My First X" posts where somebody goes from their first C++ lesson to being confident they've written the "World's Best X" in about a week. The AI slop made this much worse because now the author has been told by ChatGPT or whatever that they're a genius. All the popular PLs have this problem to some extent.
- pjmlp 4mo agoYes, they need it for the AI libraries they call from Python.
- bayindirh 4mo agoLet's assume that it's because of AI for this case. Is this good or bad?
- raincole 4mo agoIf this is a rhetorical question I genuinely don't know what's the implied answer. Why would AI specifically make C++ grow?
- DesaiAshu 4mo agoA 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)
- jdw64 4mo agoIt'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
- tenderfault 4mo agofunny, I think the same about rust.
- tialaramex 4mo ago(Safe) Rust is a lot better about the "Pit of Success" design than C++ There are fundamental technical choices to deliver that, but also ergonomic things like notice Rust's []::sort is a stable sort, whereas C++ std::sort is an unstable sort. If you don't know about sort stability in Rust what you wrote works and in C++ you get a nasty surprise.
- bregma 4mo agoC++ has std::sort() and std::stable_sort(). You should write what you mean, and you should know and understand your tools. Blaming the tool for your ignorance marks you as significantly less than an artisan.
- tialaramex 4mo agoSure, both languages offer both generic comparison sorts†. But the defaults matter and as always in C++ the defaults are wrong, here it's reflected in naming. That's not actionable information, except in the sense that the correct action is "don't use C++". Because sure, I know about sort stability, and I know about pointer provenance, and about memory ordering, but there might be any number of things I do not know and unfortunately in C++ "you should know and understand" absolutely everything at all times, which is not viable. † The C++ standard library sorts are both much slower than in Rust, but hey, they're also both less safe so you're really getting the worst of both worlds
- Tomte 4mo agoI‘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?
- spacechild1 4mo agoYes, these are the same people: https://www.cultrepo.com/ https://www.cultrepo.com/ Apparently, they are making documentaries about open source software.
- Tomte 4mo agoThat‘s cool, since it establishes a brand. If one was done well, the others probably are, too, so even if it‘s not your language of choice, it will be interesting.
- keyle 4mo ago+90% users in the past 3.5 years huh? That is incredible growth. How is it even measured?
- aw1621107 4mo agoHerb's blog post links to the SlashData Developer Nation Survey, so presumably that's what the claim is based on. The company has a methodology page here [1], and it looks like the Developer Nation panel [2] is one of the sources used by that company. [0]: https://www.slashdata.co/research/developer-population https://www.slashdata.co/research/developer-population [1]: https://www.slashdata.co/company/methodology https://www.slashdata.co/company/methodology [2]: https://developernation.net/ https://developernation.net/
- fg137 4mo agoHas anyone heard of any of these companies before? And I wonder what the number is for other languages. They want my email just to look at their "free report". Sorry that's not good to happen.
- dr_lbd 4mo agoHi, I'm a Principal Market Research Consultant with SlashData. We've been around for more than 15 years, and we work with the largest organisations in tech when it comes our market research on developers (our client page include AWS, Google, Microsoft, LF, Cisco, and so on and so on). Not bragging, but trying to assuage concerns that we are some fly-by-night org that popped up out of nowhere. The makers of the documentary reached out to us to use our footage in the report and Bjarne has also used our report/blog when talking about the future of C++. In general, our hypothesis about its continued relevance is in line with what the documentary itself reports: developer numbers have grown massively and C++ has a very specific series of use cases that maintain its relevance. Our methodology page is lengthy, but it can be summarised by the combination of several pieces of distinct information. We have labour statistics from various national governments to provide reference points, we use statistics from areas developers associate with (e.g. StackOverflow or GitHub) and compare against responses from inside the survey, and our own build-up of numbers based on the proportional data from within the survey (region, age, area, development, etc.). We have been doing this for many years. We also acknowledge in our reports that we are confident in all regions, but with greater uncertainty in the Greater China region, as we are a non-Chinese firm, so we have to work with partners in the region which minimises our confidence in the region. The report lists the numbers for the major leading languages, basically any language that is used in multiple areas of development and has more than 500k users, give or take. It is not a perfect measure approach but it is about giving the most useful information at the highest level. We also exclude things like SQL because they are nor programming languages, unlike most of the other measures. For the report, we typically have blogs available with similar information, but our free reports are designed for lead generation, which is why emails are asked for.
- gizajob 4mo agoIs it better than the Erlang documentary?
- grugdev42 4mo agoThank you for releasing this for free! :)
- deleted 4mo ago[deleted]
- deleted 4mo ago[deleted]
- i_am_a_peasant 4mo agoMy only problem with C++ is that it’s too verbose. my eyes need to parse huuge chunks of things when I just want some convenient syntax for it. otherwise the idioms are pretty universal for most programming languages nowadays.
- tonyedgecombe 4mo agoThe trouble with that is the more mental capacity you exert on the language the less you have available for the task at hand.
- Zardoz84 4mo agoTry Java
- i_am_a_peasant 4mo agohard pass :D isn't kotlin supposed to be the future for JVM?
- speed_spread 4mo agoKotlin is the future of maintenance nightmare and Jetbrains lock-in.
- i_am_a_peasant 4mo agoseems to work for android though
- einpoklum 4mo agoC++ is quite amenable to making things less verbose. For example: Instead of a standard library algorithm taking a pair of iterators, you could have a function taking a container and calling the other function with its start() and end(). And then, with newer versions of the language, you can use a ranges-based function. There are lots of such syntactic hacks, from `using` through typed literals all the way to preprocessor macros (which we want to avoid, but are still there). That's how you emulate language features that aren't there originally. I've "impelemented" a static code block, like in Java: https://stackoverflow.com/a/34321324/1593077 https://stackoverflow.com/a/34321324/1593077 and that's all in C++98. The implementation is a bit ugly but the use is terse and self-expalantory.
- ElenaDaibunny 4mo agowild that c++ is apparently the fastest growing top 4 language right now
- tenderfault 4mo agoSo happy to see Andrei Alexandrescu was included in this documentary. His book on modern C++ design was a mind opener at the time I read it. Maybe still is today. Anybody else read it?
- W0lf 4mo agoYes, I feel the same way. I met Andrei once on a Meetup in Munich, basically telling him that he taught me how to think which led to a somewhat awkward conversion. Fun times nonetheless :-)
- tenderfault 4mo ago1. Find your hero 2. Meet your hero 3. Start an awkward conversation with your hero. It always goes like this no matter what you try.
- hcrisp 4mo agoI read it recently. I liked a few of the chapters especially how policy classes fix some issues with OO design. I do recommend asking an AI chatbot to summarize each chapter and say what the modern equivalent is since some of the idioms have improved. I think one whole section was obsoleted through the use of std::variant and std::visit.
- usefulcat 4mo agoHis talks are some of my favorites; he's a great speaker. Very engaging and has a great sense of humor, which he uses to great effect.
- mwigdahl 4mo agoAgreed, _Modern C++ Design_ is probably the programming book I've gotten the most out of in my career.
- lepicz 4mo agohmm, yes it's interesting but honestly - not much of the stuff is usable IRL the only thing i was regularly using (Loki library) for was the assoc_vector
- Serhii-Set 4mo ago[dead]
- infoinlet 4mo agoWhat a lineup of contributors—Stroustrup, Stepanov, Kernighan, Lattner, and more in one film. Forty years from 'C with Classes' to the fastest-growing of the top four languages is a remarkable arc, and it's nice to see the people behind it get their due. Adding this to the weekend watchlist. Thanks for sharing, Herb!
- Lapsa 4mo ago[dead]
- GodelNumbering 4mo agoPersonal opinion: C++ is the most elegant language I have used (for about 15 years). If you are the 'systemizer' type and like to have an extremely precise mental model of the thing you write down to the last bit, nothing beats C++. I acknowledge the limitations and uncertainties that come from compilers etc, but still
- dbdr 4mo ago> If you are the 'systemizer' type and like to have an extremely precise mental model of the thing you write down to the last bit, nothing beats C++. I would say the same thing of Rust.
- dysoco 4mo agoI very much prefer to work in Rust but it does force you to design things in an counter-intuitive way in certain situations (linked lists for the canonical example). Specially for lower level software I find C or C++ to allow for much more flexibility and thus the most straightforward design possible.
- snuxoll 4mo agoI really don't think Rust does, but that's if you're outright refusing to use `unsafe` anywhere. Might be a little noisier if you're using things like ManuallyDropped instead of just using raw pointers, but the language doesn't stop you from doing things in ways you would with C or C++, it encourages you to encapsulate the hard parts so you can worry less about correctness of 98% of your codebase, instead of fearing incorrect behaviors can silently sneak in.
- dbdr 4mo agoThat's absolutely correct. Wild to see it downvoted without explanation, while you preemptively mentioned the tradeoff that you do need to worry about correctness in that case (just as much as in C/C++), but that only applies to a small part of your codebase, so it's still a huge benefit. The only downside is that unsafe rust is more verbose than C/C++.
- serhii1992 4mo agoGood, thank you!
- neals 4mo agoI love a free documentary about something that I'm passionate about. So many thanks. However, I'm a my own kind of weird. I cannot watch a documentary that's made out of people saying short sentences. I get that it's made to 'have them tell the story', but I need a narrator to tell me what to think because I get distracted. Still lots of love to the creators, of course.
- TonyAlicea10 4mo agoI always tell web developers I teach that the language of the internet isn’t JavaScript it’s C++. Web devs are just users playing in a C++ dev’s program. ;)
- criddell 4mo agoI tend to think of the web and the internet as distinct things. For the language of the web I'd probably nominate HTML. For the language of the internet it's a lot less clear to me.
- TonyAlicea10 4mo agoMany browser rendering engines are built in C++, so C++ is parsing the HTML. My general point is that many web/internet techs that web devs interact with have C++ one abstraction level below for actual implementation.
- irishcoffee 4mo agoI agree with you, and it amuses me to no end when I (rarely) use Wt to make a simple webpage. C++ to js (very roughly) rendered by c++.
- ahartmetz 4mo agoAll widely used HTML engines are C++. Of the up and coming ones, Servo is Rust and Ladybird is C++ potentially moving to Rust. In any case, Rust is basically C++ 2.0 to me because it is very much in the spirit of C++.
- TonyAlicea10 4mo agoYes I said “many” because if I didn’t qualify it someone would mention Rust.
- pjmlp 4mo agoRust is a tiny portion of Firefox, and sadly it is in the way of irrelevance. It is kind of ironic that Rust will outlive Firefox as Mozzilla's legacy.
- swader999 4mo agoI'm going to rent the local cinema and invite all my normal friends and family for this. About time they watch something decent.
- mirmor23 4mo agoKen Thompson's criticism of C++ as incoherent, complex and garbage heap of ideas still resonates with me; C++98 was the last version I used for work although I've dabbled in 11/17/20 out of curiosity. IMO, if c++/cfront didn't ride on the tails of c, I'm skeptical it would've seen widespread use, but then, that's its main identity which limited it in ways that C++ was not willing to change; It is highly irritating to spend as much time to sanitize the implementation with Coverity/Valgrind and the ilk when the compiler could've handled it. With C++98, Bjarne's book on c++ internals could've give you good insight into what went on, but later it turned into a whole cottage industry of "effective, more effective, proficient, performant, c++" series of books -- so kiss goodbye to any notion of being able comprehend existing code that's not written by you (until llms arrived). I'm happy to have spent time to learn problem domain instead. I'll still watch the documentary since it has some of my favorite folks (Kernighan, Stepanov).
- 72deluxe 4mo agoBut C++98 is so different to even C++11. Bjarne's book covering C++11 read completely differently to the 98 version, I found.
- jmalicki 4mo agoThat just adds to the incoherency. It's why I've found Rust a joy - enough had happened in programming languages, that it was able to reinvent C++ with some of the best parts of the Haskell/ML/Scala family, some of the ergonomics of Python/nodejs, and bringing the borrow checker too. C++ is this weird amalgam of like 7 different generations of languages. But by far the worst part is the developer hostility behind the idea of UB. "Oh, this is not an error, it will compile, we will just secretly stab you in the back." You can get good and avoid it, and there are tools to help you, but why is that at all a reasonable stance for the definition of a language?
- jeffbee 4mo agoSaying this about Rust and C++ is like saying the kitchen you just built is cleaner than the old kitchen you used for 50 years. Get back to me in another few years.
- sylware 4mo ago[dead]
- orsenthil 4mo agoI haven't watched this yet. With all due respect, why John Romero instead of John Carmack for a C++ documentary ?
- martinky24 4mo agoA documentary can't always get who they want to get.
- spacechild1 4mo agoI'm pretty sure they first asked the other John and got a rejection :)
- fasterik 4mo agoRomero was a prolific programmer himself back in the day. He's become more known as a designer because Carmack took over as the main engine programmer at id, but Romero was still writing tooling and editors, in addition to doing the level design.
- orsenthil 4mo agoWow! This is an excellent info.
- melenaboija 4mo agoI obviously don’t know them personally, but what I get from this old school generation that have been a pillar of computer science and, why not, modern human history, is just a tiny little bit more humbleness than “influential” people nowadays.
- Maxatar 4mo agoThey may be humble in their older age but the good majority of people on the list were known for anything but their humbleness back when C++ was a much more dominant language.
- stackghost 4mo agoUsing "humble" to describe a list of folks that include John Romero is certainly an interesting choice of adjective.
- deleted 4mo ago[deleted]
- nitotm 4mo agoPretty good.
- witx 4mo agoDid it crash midway?
- garyrob 4mo agoFor what it's worth: I had an idea for a special reminder app I wanted for myself. It's complicated enough that it comes to 9,000+ lines of code. I wanted to write it using the C++ UI library wxWidgets, because I like that wxWidgets uses native widgets, and is cross-platform, and that it's easy to make an app look nice. And that it doesn't use tons of memory. There's a wxPython library, but I didn't want my UI to be limited due to whatever gaps may exist in that wrapper. So I had AI write it in C++. Took about a day for me to get it done. It's perfectly solid. It did hit a couple of memory errors when I first used it, but I could give the AI MacOS crash report and the AI fixed the bugs easily, with no other involvement from me. (I compiled in a debug-friendly mode; no downside to that because it was just for me and was plenty fast enough.) 25 years or so ago, I was a fairly good C++ programmer. Haven't touched it since. And that includes this application, which was completely AI-written.
- gverrilla 4mo agoHey I'm curious on how your reminder app works and to what effects, if you're willing to share. I'm on iteration 3 already of my reminder app, also vibe coded, and it helps me a lot. My first one was inspired on Remind [0]. 0: https://dianne.skoll.ca/projects/remind/ https://dianne.skoll.ca/projects/remind/
- spacechild1 4mo agoDo we really have to shoehorn AI into every single thread? It's really getting tiring.
- socalgal2 4mo agoC++ needs to die. I get so many people are invested in it and so much code is written in it. I used to be a fan and it's still my main job. But, in 2026 with LLMs able to find all the exploits, and with more and more adversarials, we need a language that is opt-out of safety, not C++ which is opt-in + super vigilance to get safety. It doesn't work and decades of experience proves it.
- Matheus28 4mo agoAnd replace it with what?
- dcsommer 4mo agohttps://www.memorysafety.org/docs/memory-safety/ https://www.memorysafety.org/docs/memory-safety/
- bulbar 4mo agoWhen LLMs find all the exploits without the source code, they should find them even easier worth the code, no?
- lostdog 4mo agoC++ was a superb language for its time. There was nothing faster with as-powerful abstractions. It showed how far you can change a language too, with C++11 being a massively better language with shared_ptr and company. It took in almost every idea, and the battlefield showed us which do work and which don't. We get to keep RAII, move vs copy, smart pointers, placement-new, and generics. We get to drop auto_ptr, copy-by-default, its specific exceptions implementation (fight me), multiple virtual inheritance, and templates as full code substitution. In my opinion the battles have played out, and Rust is the best sum-up of what worked (it even inherited the compile times! Lucky us!)
- timedude 4mo agoWith great power comes great responsibility and blown off legs.
- jheriko 4mo ago[dead]
- coffeeaddict1 4mo agoAn interesting opinion on this by Chandler Carruth: https://hachyderm.io/@chandlerc/116694268329657881 https://hachyderm.io/@chandlerc/116694268329657881.
- spacechild1 4mo agoHe has a point. The video certainly feels more like a hagiography and I noticed the lack of critical voices. Only in the last 10 minutes they touched on some common criticisms, like the growing complexity and the memory safety issues. I still enjoyed it, though.
- jalospinoso 4mo ago[flagged]
- jviotti 4mo agoTime to stop hacking on my C++ codebase (https://github.com/sourcemeta https://github.com/sourcemeta) to watch this over dinner!
- lordluca 4mo agoC++ this remind me of my university days nowadays only doing python, nodejs and ansible
- fithisux 4mo agoWe need more of these documentaries, Pascal, D, /Common Lisp, Fortran