C++: The Documentary

Reception of the Documentary

  • Many commenters found the film engaging, well-paced, and enjoyable, with praise for the lineup of contributors.
  • Some noted it feels more like a celebration than a critical examination; criticisms of C++ appear only briefly near the end.
  • Viewers appreciate similar language documentaries (Python, Clojure, Erlang) and see this as part of a broader series trend.

C++ Popularity and Growth Claims

  • The cited “+90% users in 3.5 years” from a survey sparked skepticism about methodology and vendor surveys in general.
  • Explanations proposed: AI/ML workloads (C++ under the Python stack), performance-per-watt needs, and C++’s huge existing codebase and training data for LLMs.
  • Some remain unconvinced that AI specifically explains the growth.

Complexity, Standards, and Everyday Use

  • Several describe C++ as exhausting to maintain: many standards (98, 11, 14, 20, 23), overlapping features, and wildly different idioms between codebases.
  • Others argue you only need a subset; teams define their own “dialects,” and with practice C++ becomes second nature.
  • There’s concern that the language keeps accreting features without retiring old ones, increasing cognitive load.

Standard Library and Ecosystem

  • Strong disagreement over the STL/standard library:
    • One camp sees it as well-designed, robust, and safer than ad‑hoc reimplementations.
    • Another criticizes performance (e.g., regex, unordered_map), ABI constraints, lack of deprecation, and compile-time bloat; game and audio devs often avoid it or use custom containers.
  • Package management and tooling are seen as fragmented; some consider this a downside, others a feature that discourages dependency sprawl.

Comparisons with Other Languages

  • Rust is frequently cited as capturing “what worked” from C++ with a better “pit of success,” though some note Rust can force less intuitive designs for low-level structures.
  • C is preferred in safety-certified embedded contexts due to simpler reasoning; others argue modern memory-safe languages would be better long term but are not yet certified.
  • Some find C++ elegant and powerful for those who enjoy precise low-level mental models; others see it as an incoherent accumulation of decades of ideas.

Security and Future Outlook

  • A minority argue C++ “needs to die” for new projects given memory-unsafe defaults and increasingly capable exploit tooling.
  • Others counter that C++ is still unmatched for certain performance and systems niches, even if newer languages are preferable when possible.