Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
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

    CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”

    CppCon

    2 HN recommenders · recommended in 3 months, 2017–2020

    YouTube

    1:47:45 · 105K views · Sep 28, 2017

    At CppCon 2017 Herb Sutter presents his work on evolving C++ through compile-time code generation, including metaclasses and reflection. The aim is to make the language both more powerful and simpler by letting programmers express intent directly.

    Praised as the best talk of CppCon 2017 and the key introduction to metaclasses and generative C++.

    Software Engineering & LanguagesC, C++, Rust, Go & systems languagesProgramming language design
    1. 52:01
      CppCon 2017: Louis Brandy “Curiously Recurring C++ Bugs at Facebook”CppCon158K views • 9 years ago
    2. 1:13:41
      CppCon 2014: Chandler Carruth "Efficiency with Algorithms, Performance with Data Structures"CppCon235K views • 12 years ago
    3. 1:54:00
      Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022CppCon277K views • 3 years ago
    4. 1:29:06
      CppCon 2015: Herb Sutter "Writing Good C++14... By Default"CppCon193K views • 11 years ago
    5. 1:33:12
      De-fragmenting C++: Making Exceptions and RTTI More Affordable and Usable - Herb Sutter CppCon 2019CppCon90K views • 7 years ago
    6. 1:40:27
      CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"CppCon323K views • 12 years ago
    7. 1:19:52
      CppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”CppCon264K views • 10 years ago
    8. 1:31:14
      CppCon 2017: Titus Winters “C++ as a "Live at Head" Language”CppCon53K views • 9 years ago
    9. 1:39:25
      CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon149K views • 10 years ago
    10. 1:15:46
      CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”CppCon178K views • 9 years ago
    11. 1:21:13
      C++ and Beyond 2012: Herb Sutter - atomic Weapons 1 of 2alexsmail71K views • 8 years ago
    12. 1:04:00
      CppCon 2015: Sean Parent "Better Code: Data Structures"CppCon106K views • 11 years ago
    13. 57:39
      CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."CppCon94K views • 10 years ago
    14. 1:29:54
      CppCon 2015: Chandler Carruth "Tuning C++: Benchmarks, and CPUs, and Compilers! Oh My!"CppCon188K views • 11 years ago
    15. 54:48
      CppCon 2018: Hana Dusíková “Compile Time Regular Expressions”CppCon14K views • 8 years ago
    16. 1:06:00
      CppCon 2017: Juan Pedro Bolivar Puente “Postmodern immutable data structures”CppCon31K views • 9 years ago
    17. 1:33:02
      2013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++CppNow34K views • 13 years ago
    18. 1:36:27
      CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”CppCon175K views • 10 years ago
    19. 1:07:22
      Invited Talk - Guy SteeleClojureTV39K views • 9 years ago
    20. 1:00:46
      CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon271K views • 8 years ago

    4 comments from Hacker News

    1. @slavik81Oct 2017· in “C++17 Is Here: Interview with Herb Sutter”

      Herb Sutter's talk about it is by far the best talk I've seen from from CppCon17. "Meta: Thoughts on generative C++" - this video

      Strongly recommendsView on HN
    2. @xaedesJan 2018· in “Outperforming LAPACK with C++ metaprogramming”

      The talk about the reflection proposal was amazing. Meta classes are also very cool. We can only hope it comes fast. this video

      Strongly recommendsView on HN
    3. @tylerhouDec 2020· in “Is the preprocessor still needed in C++? (2017)”

      To a degree, but templates and constexpr don't support a bunch of features like compile-time field enumeration and introspection + code generation. For example, let's say I have a bunch of structs: struct GeoCoordinate { int lat, long; }; struct GeoArea { std::vector<GeoCoordinate> perimeter; }; struct Place { std::string name; std::string contact_number; GeoArea area; }; Now I need to serialize these structs into a format to be sent over the wire. Currently, I have a few choices: 1. Use an off-the-shelf library like protobuf (disclaimer: I work for Google). Then I have to convert my code to a protobuf definition and rely on its code generator to perform [de]serialization. I also have to hope that my library supports all the field definitions I need. 2. Write macros to define each field in each structure. These macros perform some arcane magicks that somehow create the necessary [de]serialization functions. These macros are difficult to write and maintain (or I find a library). 3. Manually define the methods myself. This is tedious, hard to maintain, and error prone. What if I could write some code in C++ which could read the structure and generate the appropriate serialization code? Something like (syntax hypothetical): Serializable(Class) { std::string serialize() { std::string output; for (auto member : Class.members()) { // loop unrolled at compile time if (member.type == int) { output.append(std::format("{:10}"), member.get()) } else if (member.type == std::string) { ...

      CitesView on HN
    4. @tylerhouDec 2020· in “Is the preprocessor still needed in C++? (2017)”

      A few years ago Herb Sutter proposed Python-like metaclasses in C++ through compile-time code generation. Not sure if anything has been proposed for general use. this video

      CitesView on HN