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 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”

    CppCon

    6 HN mentions · mentioned in 6 months, 2019–2021

    YouTube

    59:58 · 79K views · Oct 27, 2018

    Nicolai Josuttis's CppCon 2018 talk walks through the many forms of initialization in C++, including uniform initialization, and how their rules and effects differ. He argues the situation is confusing enough that nobody can say what to teach beginners.

    Used mostly as a citation of C++'s historical baggage and complexity when HN criticizes or jokes about the language.

    Software Engineering & LanguagesC, C++, Rust, Go & systems languagesProgramming language design
    1. 1:54:00
      Can C++ be 10x Simpler & Safer? - Herb Sutter - CppCon 2022CppCon277K views • 3 years ago
    2. 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
    3. 57:39
      CppCon 2016: Chandler Carruth “Garbage In, Garbage Out: Arguing about Undefined Behavior..."CppCon94K views • 10 years ago
    4. 1:00:11
      CppCon 2015: Kate Gregory “Stop Teaching C"CppCon181K views • 11 years ago
    5. 1:24:36
      C++ Exceptions for Smaller Firmware - Khalil Estell - CppCon 2024CppCon23K views • 1 year ago
    6. 1:36:27
      CppCon 2016: Dan Saks “extern c: Talking to C Programmers about C++”CppCon175K views • 10 years ago
    7. 54:55
      Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott MeyersThe D Language Foundation19K views • 8 years ago
    8. 1:47:45
      CppCon 2017: Herb Sutter “Meta: Thoughts on generative C++”CppCon105K views • 9 years ago
    9. 1:40:27
      CppCon 2014: Herb Sutter "Back to the Basics! Essentials of Modern C++ Style"CppCon323K views • 12 years ago
    10. 1:27:46
      CppCon 2014: Mike Acton "Data-Oriented Design and C++"CppCon863K views • 12 years ago
    11. 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
    12. 1:02:33
      CppCon 2017: Kate Gregory “10 Core Guidelines You Need to Start Using Now”CppCon144K views • 9 years ago
    13. 36:10
      CppCon 2019: Emery Berger “Mesh: Automatically Compacting Your C++ Application's Memory”CppCon15K views • 7 years ago
    14. 1:03:44
      CppCon 2015: Timur Doumler “C++ in the Audio Industry”CppCon131K views • 11 years ago
    15. 1:29:06
      CppCon 2015: Herb Sutter "Writing Good C++14... By Default"CppCon193K views • 11 years ago
    16. 1:31:14
      CppCon 2017: Titus Winters “C++ as a "Live at Head" Language”CppCon53K views • 9 years ago
    17. 48:46
      Rust's Journey to Async/AwaitInfoQ90K views • 6 years ago
    18. 1:39:25
      CppCon 2016: Herb Sutter “Leak-Freedom in C++... By Default.”CppCon149K views • 10 years ago
    19. 1:33:02
      2013 Keynote: Chandler Carruth: Optimizing the Emergent Structures of C++CppNow34K views • 13 years ago
    20. 1:00:46
      CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”CppCon271K views • 8 years ago

    6 comments from Hacker News

    1. @michaelg7xNov 2019· in “Ask HN: How to approach learning C, C++, or Java on free time?”

      I think this depends to some extent on the type of job you're going for, which might seem trite but a graphics role is going to be different from a systems programming role. I've been writing Java for a long time and tired after a while of the JVM "getting in the way", and the lack of bare-metal acceleration available. Eventually designing and working on zero-GC systems led me to wonder why we didn't just write it in a compile-to-native language in the first place. I skipped both C and C++ and started hacking on x86 and amd64 assembly. It turned out that approaching C after that was fairly straightforward, with the dark corners of the standard libraries forming the still fairly gentle but steepest parts of the learning curve. I've been writing a toy project in it for a while and it's been a lot of fun. Implementing what I understsand to be Modern C's Best Practices have left me with something fairly usable :-O I've also looked at what you'll probably hear called Modern C++, but IMO it's and order of magnitude harder to get started on. I was watching Nicolai Josuttis' "The Nightmare Of Initialization in C++" the other day[1], which chimes with the first chapters of Scott Meyer's "Effective Modern C++". What a mess (C++ initialisation, not the book)! Java's potentially a better bet in the wider market as the number of job listings could be higher, but others may disagree. That said, Java is now a vast ecosystem and you'll need to learn at least one of its various build tools. I

      CriticalView on HN
    2. @forrestthewoodsJan 2019· in “Initialization in C++ is Seriously Bonkers”

      C++ initialization is such a convoluted mess that CppCon was able to have an entire hour dedicated to "The Nightmare of Initialization in C++". this video C++ has a rigorous standard. There is no rule that wasn't added for a reason. Nor are there lines of code with which you can specify which rule it must follow. The path to hell is paved with good intentions. Just because each step is logical and defensible doesn't mean the end result isn't fire and brimstone. I believe that good things are more than the sum of their parts. You often hear this with respect to creative works like movies or games. I think it also applies to source code, language design, and much more. The flipside is that bad things are less than the sum of their parts. I've shipped games that fall into this category. C++ initialization has a LOT of parts. And I would strongly argue the end result is less than the sum of those parts.

      CriticalView on HN
    3. @db48xSep 2021· in “Transmission torrent client ported to C++”

      Several CPPCON talks in recent years have reinforced that for me as well. this video , for example. Edit: I originally linked to the wrong video ( [LINK] ), which was a different talk by the same person.

      CitesView on HN
    4. @kinjba11Sep 2019· in “Why Go and Not Rust?”

      C++ has more historical baggage than any other mainstream language. Consider something as simple as initialization: this video

      CriticalView on HN
    5. @hackingthenewsSep 2020· in “C++20 has been approved”

      Agreed. Just gonna drop this here: Nicolai Josuttis “The Nightmare of Initialization in C++” [0] [0] this video

      CriticalView on HN