HackerTube

CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++”

CppConCited 6× on HN, 2019–2021
YouTube
talk · intermediate · 2019–2021 on HN

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.

6 comments from Hacker News

@belter2021-12 · in “Bjarne Stroustrup: “I Did It for You All” (2007)”

What a tour de force! Thanks for the link. It beats my previous favorite C++ presentation: "CppCon 2018: Nicolai Josuttis “The Nightmare of Initialization in C++” ▶ this video Next Halloween I will dress up as std::variant

@db48x2021-09 · 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.

@hackingthenews2020-09 · in “C++20 has been approved”

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

Critical View on HN
@michaelg7x2019-11 · 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

Critical View on HN
@kinjba112019-09 · in “Why Go and Not Rust?”

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

Critical View on HN