4 ms·
This is an excellent talk -- highly recommended if you know (or want to know) anything about C++. But it leaves me with a big question. For anyone who has done
by ggchappell 15y ago
This is an excellent talk -- highly recommended if you know (or want to know) anything about C++. But it leaves me with a big question.
For anyone who has done C++ over the years, and made an effort to be type- and exception-safe, and efficient, these new features are a breath of fresh air. But what about people who haven't?
C++ is a huge language. Sutter seems to be saying that there is a nice, relatively small subset that is usable, safe, and efficient -- if you understand the issues. But do you need to? For example, the discussion on raw pointers at 27:45. Raw pointers are perfectly fine if the ownership and lifetime issues are all aligned correctly, he says. Great. For those who have been writing C++ for a decade and know all about ownership and lifetime and new and delete and reference counting and the rules for calling destructors and exception safety, no problem. What about people who are new to C++?
As I say, C++ is huge. The original ANSI C++ was gigantic. C++11 is a behemoth whose totality is beyond the comprehension of any mere mortal not named "Herb Sutter". There is a small subset that is usable and cool and awesome, if you know about much of the rest. What if you don't? Is C++11 a language that non-experts can use? Is it a language I can effectively introduce to new computer science students?
I don't know. Does anyone?
P.S. I found it funny that, amid all this nifty, modern code, in the slide that appears at 52:38, he throws a char *. Does he really think that's a good idea?