Skip to content
0:00 / 0:00

#c++14#c++coreguidelines#staticanalysis

CppCon 2015: Herb Sutter "Writing Good C++14... By Default"

CppCon

189K subscribers • 101 videos on Hallway • Conference channel

YouTube
  • Recommended by 6 people: 4 on Hacker News, 1 on Lobsters and 1 curated list.
  • Presented by Herb Sutter, chair of the ISO C++ committee
  • Linked in the descriptionisocpp/CppCoreGuidelines
  • May be out of date. The tools, versions or practices it shows have likely moved on.

Intermediate. Assumes working knowledge.

193K views11 years ago6 recommendations

Programming languagesSystems programmingC++Performance and optimizationCompilers and interpreters

Herb Sutter presents the C++ Core Guidelines and demonstrates static analysis tools designed to enforce lifetime and memory safety by default.

cppcon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: github.com/isocpp/CppCoreGuidelines/blob/master/talks/Sutter… -- Modern C++ is clean, safe, and fast. It continues to deliver better and simpler features than were previously available. How can we help most C++ programmers get the improved features by default, so that our code is better by upgrading to take full advantage of modern C++? This talk continues from Bjarne Stroustrup’s Monday keynote to describe how the open C++ core guidelines project is the cornerstone of a broader effort to promote modern C++. Using the same cross-platform effort Stroustrup described, this talk shows how to enable programmers write production-quality C++ code that is, among other benefits, type-safe and memory-safe by default – free of most classes of type errors, bounds errors, and leak/dangling errors – and still exemplary, efficient, and fully modern C++. Background reading: Bjarne Stroustrup’s 2005 “SELL” paper, “A rationale for semantically enhanced library languages," is important background for this talk. -- Videos Filmed & Edited by Bash Films: BashFilms.com Work at Hudson River Trading (HRT): tinyurl.com/safxfctf

Why it's here

6 people recommend this, 1 disputes it

What people say. Engineers reference this talk for its early demonstration of lifetime-checking static analysis in C++ and discussions on memory safety.

programming-talkscurated list on GitHubRecommends

Under “C++”

Writing Good C++14... By Default 01:29:05 by **Herb Sutter** (2015)

unbalancedparentheseson Lobsters • Recommends

Writing good C++14 2015

something123on Hacker News • Recommends

On “When Rust Makes Sense, or The State of Typed Languages”

We should be seeing completely safe C++ code soon. Take a look at Herb Sutter's CppCon talk this year: link to this video Reinventing the wheel isn't entirely necessary. Though if you're a SysAdmin and you write your codebase in Rust.. that's some nice job security. ;)

jbandela1on Hacker News • Recommends

On “Rust Lifetimes”

At this year's CppCon Herb Sutter the chair of the ISO C++ committee addressed just this issue of lifetime safety. Here is a video of his talk and includes a demo of the upcoming static analysis tool that can do this with very minimal annotations link to this video I remember thinking when watching the talk that this was a very bad day for Rust as C++ could now do most of what Rust was promising

jbandela1on Hacker News • Recommends

On “Ask HN: C, C++, or Rust which language to learn next?”

Take a look at Herb Sutter's talk from CppCon 2015. The slides are here ( link ) and the video is here link to this video . Microsoft will be releasing the static analysis tool as a free cross-platform tool (and I think open-source IIRC). They shipped a preview for Visual Studio 2015 with Update 1, and are planning on shipping a cross-platform version soon. As tools like this become free and ubiquitous, it will greatly improve C++ code safety.

e12eon Hacker News • Recommends

On “Why I don't spend time with Modern C++ anymore”

…hen you're supposed to do an intro course to C++): "CppCon 2015: Kate Gregory “Stop Teaching C"": link (But again, I want an open wiki/live tutorial, along the lines of "How I start", but longer, which goes through all this stuff. We really should make one, both for C++14 and for C11). CppCon 2015: Herb Sutter "Writing Good C++14... By Default": link to this video Is also rather uplifting, and: CppCon 2015: Sean Parent "Better Code: Data Structures": link makes a pretty good case for simple, modern C++ being clear, easy and efficient. Finally, CppCon 2015: Phil Nash “Test Driven C++ with Catch”: link apart for being a pretty straight forward intro to a simple testing framework, appears to reveal…

pjmlpon Hacker News • Recommends

On “Ask HN: Best way to learn modern C++?”

- Tour of C++ ( link ) - Principles and Practice Using C++ ( link ) - From Mathematics to Generic Programming ( link ) - The Scott Meyers books Some of the Bjarne Stroustrup videos, "Learning and Teaching Modern C++" - link Some of the Herb Sutter videos, "Writing Good C++14... By Default" - link to this video "Back to the Basics! Essentials of Modern C++ Style" - link Some of the Kate Gregory videos, "Stop Teaching C" - link "10 Core Guidelines You Need to Start Using Now" - link "It's Complicated" - link

pcwaltonon Hacker News • Disputes

On “Why I love Rust”

> you can see C++ adopting pretty much the borrow checker as a tool - see Herb Sutter's talk at CppCon 2015 - link to this video . I have a lot of questions about this tool, both in terms of soundness/expressivity (how do you deal with shared_ptr and similar things if your goal is to statically guarantee no-alias on function entry) and in terms of practicality (the massive subsetting it requires basically makes ISO Core C++ an entirely new language). Also, Herb's claims about the ISO Core C++ lifetime profile requiring fewer annotations than Rust were incorrect. I gave basically this exact answer last time you posted a variant of this same comment on the last Rust thread.

pjtron Hacker News • Mentions

On “C++ Core Guidelines”

Sure. That was kind of my point. Still, as Herb Sutter asked at CppCon 2015: "How many of you have your own homegrown string types at your companies? ... Don't lie. ... Right. And those of you who didn't put up your hand and are just bashful, ... we know we have them." 1 1 link to this video

jbandela1on Hacker News • Mentions

On “Ask HN: C, C++, or Rust which language to learn next?”

…s. Rust is interesting, but I think it will remain an interesting language outside the mainstream without any major commercial backers (Mozilla does not count). In addition, C++ is taking a lot of the ideas from Rust and incorporating them along with tooling that will provide 95+% of the value of Rust while still keeping the advantages of C++ (see link to this video ) What is interesting with C++ is that although a lot of vendors are pushing their own languages - Microsoft with C#, Apple with Swift, Google with Go, Facebook with Hack, Mozilla with Rust - they are all deeply involved with C++ because C++ powers their mission-critical code. Another way of putting it would be that despite all the promotio…

pjmlpon Hacker News • Mentions

On “IncludeOS roadmap: tiny Node.js-style web services in highly efficient C++”

Here CppCon 2015: Herb Sutter "Writing Good C++14... By Default" around 00:32:00. link to this video > The work-in-progress ISO Core C++ lifetime profile does not work on unmodified code and requires a lot of annotations… Herb mentions that it still less than lifetimes in Rust given C++'s type system: link to this video link

pjmlpon Hacker News • Mentions

On “The Dangers of Super Smart Compilers”

If it was that easy. CppCon 2015, Herb Sutter's talk about writing safe code in C++14, just check how many in the audience use such tools. link to this video A tiny 1%, this on the conference of with many of the top C++ developers. Now imagine how little they get used on the typical enterprise environment, specially worse with C, that lacks many of the C++ added safety layers.

gaulon Hacker News • Mentions

On “Optimizing C++ Const Objects in LLVM”

CppCon 2015: Herb Sutter "Writing Good C++14... By Default": link to this video Sutter comments on const_cast around 11m15s.

jbandela1on Hacker News • Mentions

On “Why I love Rust”

…king will allow you to pretty much get the same memory safety in C++ using unique_ptr and shared_ptr and const. The difference is that the compiler makes you think about it in Rust. Much like Scala inspired the adoption of features for Java, you can see C++ adopting pretty much the borrow checker as a tool - see Herb Sutter's talk at CppCon 2015 - link to this video . As the experience with Scala shows, the adopted features of the establishe…

jbandela1on Hacker News • Mentions

On “Rust and the Blub Paradox”

…have been in the C++ consciousness for some time. Below are some talks and resources covering at least some of these issues. Sean Parent - Inheritance is the Base Class of Evil - link Herb Sutter - You don't know const and mutable - link Andrei Alexandrescu - Systematic error handling in C++ - link Herb Sutter - Writing Good C++ by Default - link to this video Andrew Sutton - Generic Programming with Concepts Lite - link One of the things that helps with avoiding "Blubness" in C++ is the significant interest in languages such as Haskel (which is not considered a Blub language by anyone except Agda programmers) and in applying the techniques and insights where possible to C++ whether through wri…

kibwenon Hacker News • Mentions

On “Rewrite Everything in Rust”

I don't believe it is, unless something's changed. To quote MSDN: "The package currently contains checkers for the Bounds and Type profiles. Tooling for the Lifetime profile demonstrated in Herb Sutter’s plenary talk (video at link to this video ) will be made available in a future release of the code analysis tools." link