Video & On-Demand

CppCon 2016: The Exception Situation—Patrice Roy

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

The Exception Situation

by Patrice Roy

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Exceptions have been a part of C++ for a long time now, and they are not going away. They allow programmers to concentrate on the meaningful parts of their code and treat the things that happen infrequently as… well, exceptional situations, to be dealt with when and where the context makes it reasonable or useful.

On the other hand, some significant parts of the C++ programming community either dislike this mechanism or outright reject it, for a number of reasons. Work in SG14 has raised performance issues in some cases; there are those who dislike the additional execution paths introduced in programs that rely on exceptions; some programmers raised issues with respect to exceptions and tooling, integration with older codebases, writing robust generic code, etc.

This talk will be neither for not against exceptions. It will present a perspective on cases where they make sense, cases where they are less appropriate, alternative disappointment handling techniques presented along with client code in order to show how the various approaches influence the way code is written. Performance measurements will be given along the way. Some creative uses of exceptions will also be presented in order to spark ideas and discussions in the room.

CppCon 2016: My Little Optimizer: Undefined Behavior is Magic—Michael Spencer

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

My Little Optimizer: Undefined Behavior is Magic

by Michael Spencer

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Compiler exploitation of undefined behavior has been a topic of recent discussion in the programming community. This talk will explore the magic of Undefined Behavior, Covering how and why modern optimizers exploit undefined behavior in C++ programs.

CppCast Episode 115: Meeting C++ and cpp_review with Jens Weller

Episode 115 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Jens Weller to talk about the upcoming Meeting C++ conference, the /r/cpp_review community and more.

CppCast Episode 115: Meeting C++ and cpp_review with Jens Weller

by Rob Irving and Jason Turner

About the interviewee:

Jens Weller is the organizer and founder of Meeting C++. Doing C++ since 1998, he is an active member of the C++ Community. From being a moderator at c-plusplus.de and organizer of his own C++ User Group since 2011 in Düsseldorf, his roots are in the C++ Community. Today his main work is running the Meeting C++ Platform (conference, website, social media and recruiting). His main role has become being a C++ evangelist, as this he speaks and travels to other conferences and user groups around the world.

CppCon 2016: Safe Numerics Library—Robert Ramey

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Safe Numerics Library

by Robert Ramey

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This presentation describes the necessity, utility and usage for a library of safe integer types. These types function in all respects the same way as built-in integers, but guarantee that no integer expression will return an incorrect result. The library can be reviewed at the boost library incubator.

CppCon 2016: Instruction Re-ordering Everywhere: The C++ ‘As-If’ Rule and the Role…—Charles Bay

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Instruction Re-ordering Everywhere: The C++ 'As-If' Rule and the Role of Sequence

by Charles Bay

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This is an introductory (i.e., "First Principles") dive into instruction re-ordering (at compile-time, and at run-time) due to conspiring by the compiler and CPU to make most efficient use of execution units and resources within the CPU processor core. Discussion is made of the role for sequence, for tracing of data flows and control flows, how "out-of-order" execution occurs within the compiler and CPU, and why that's a "good thing". The importance of the C++ "As-If" rule that allows these optimizations is explained.

Exploration is made of imperative versus sequential devices, physical versus logical sequences, and the role of the CPU cache line. At the end of this talk, it will be obvious for how and why instruction re-ordering occurs, and the programmer's need to consider logical dependencies (and not instruction order) when defining algorithms.

This talk is ideal for any programmer confused after observing instruction reordering in their running systems, and provides a solid basis to begin reasoning about how to leverage parallelism and be concerned with concurrency.

CppCon 2016: Regular Expressions in C++, Present and Future—Tim Shen

Have you registered for CppCon 2017 in September? Don’t delay – Registration is open now.

While we wait for this year’s event, we’re featuring videos of some of the 100+ talks from CppCon 2016 for you to enjoy. Here is today’s feature:

Regular Expressions in C++, Present and Future

by Tim Shen

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Regular expressions are widely used in application development and data processing, yet it is challenging to design and implement a regular expression library that is expressive, efficient and safe.

In this talk, Tim Shen, the current maintainer of libstdc++'s <regex>, will introduce the basics of implementing regular expressions in C++, the status of existing implementations, and what is expected from the standardization process.

For the implementation, several data structures and algorithms will be introduced, with pros and cons listed; we will show how several popular implementations (Boost.Regex, Boost.Xpressive, <regex> from standard library implementations, RE2, etc) pick their algorithms. Several popular features/patterns that hurt performance will be explained, with a "safe" regex usage suggested. Finally a wishlist of features will be presented, in order to deliver a more efficient and usable regex library.

CppCast Episode 114: Building Debuggers and Keyboards with Simon Brand

Episode 114 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Simon Brand from Codeplay Software to talk about building C++ debuggers and the hardware and C++ firmware of a custom keyboard.

CppCast Episode 114: Building Debuggers and Keyboards with Simon Brand

About the interviewee:

Simon is a GPGPU toolchain developer at Codeplay Software in Edinburgh. He turns into a metaprogramming fiend every full moon, when he can be found bringing compilers to their knees with template errors and debating undefined behaviour on the C++ Slack channel. He co-organises the Edinburgh C++ user group and contributes to various programming standards bodies.

Outside of programming, he enjoys experimental films, homebrewing, and board games.

Video: C++ Concepts TS and Request for Input—everythingcpp

This video teaches the Concepts syntax and motivation, with a request for viewers to try it out for themselves, to submit back their usage, to help guide a paper for the upcoming Albuquerque meeting.

C++ Concepts Intro: Need Your Input

by everythingcpp

From the article:

C++20 is slated to add most of the contents of the Concepts Technical Specification. Concerns about teach/learn-ability and usage preferences has kept some features from going in. This video covers introductory material on Concepts in C++ as it is in the technical specification. Afterward, I would like to hear from you!