Video & On-Demand

CppCon 2016: The strange details of std::string at Facebook--Nicholas Ormrod

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 strange details of std::string at Facebook

by Nicholas Ormrod

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Standard strings are slowing you down. Strings are everywhere. Changing the performance of std::string has a measurable impact on the speed of real-world C++ programs. But how can you make strings better? In this talk, we'll explore how Facebook optimizes strings, especially with our open-source std::string replacement, fbstring. We'll dive into implementation tradeoffs, especially the storage of data in the struct; examine which standard rules can and cannot be flouted, such as copy-on-write semantics; and share some of the things we've learned along the way, like how hard it is to abolish the null-terminator. War stories will be provided.

CppCast Episode 101: Build 2017 with Kenny Kerr and Marian Luparu

Episode 101 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob travels to the Microsoft Build Developer's Conference to interview Kenny Kerr from the Windows team and Marian Luparu from the Visual Studio C++ team.

CppCast Episode 101: Build 2017 with Kenny Kerr and Marian Luparu

by Rob Irving and Jason Turner

About the interviewees:

Kenny Kerr is an engineer on the Windows team at Microsoft, an MSDN Magazine contributing editor, Pluralsight author, and creator of moderncpp.com (C++/WinRT). He writes at kennykerr.ca and you can find him on Twitter at @kennykerr.

Marian Luparu is currently leading the team responsible for making Visual Studio more productive for C++ developers.

CppCon 2016: Leak-Freedom in C++... By Default--Herb Sutter

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:

Leak-Freedom in C++... By Default

by Herb Sutter

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

Lifetime safety means writing code that, by construction, is guaranteed to eliminate two things: (a) use of null/dangling pointers (including pointerlike things such as references, iterators, views, and ranges), and (b) leaks (including the rare 1% case where we’re tempted to admit the possibility of an ownership cycle or need to support lock-free concurrent data structures).

Last year, my CppCon 2015 talk “Writing Good C++14… By Default” focused on (a), null/dangling, because it's the more difficult and usually more serious problem. I gave an overview of a new approach of using static analysis rules to eliminate use of null and dangling in C++. That work continues and we’re in the process of writing down the formal rules for the approach that I showed last year.

This year, the focus will be on (b), leaks: The talk aims to begin with a set of simple rules, the “5-minute talk” to demonstrate that a handful of rules can be taught broadly to programmers of all levels, and results in code that is clean and free of leak bugs by construction.

But, since we’ll still have 85 minutes left, we can use the time to spelunk through a series of “Appendix” code examples, in which we'll demonstrate "why and how" to apply those rules to a series of increasingly complex/difficult situations, and that are aimed at increasingly advanced and “clever” (note: not always a good thing) programs and programmers. We’ll address questions such as: How should we represent Pimpl types? How should we represent trees – what should the child and parent pointer types be, and (when) should they be unique and when shared? How should we deal with “intra-module” or “encapsulated” cycles when you control all the objects in the cycle, such as all the nodes within a Graph? And what about “inter-module” or “compositional” cycles when you don’t know in advance about all the objects that could be in the cycle, such as when combining libraries written by different people in a way that may or may not respect proper layering (notoriously, using callbacks can violate layering)? The answers focus on cases where we have solid guidance, and then move toward some more experimental approaches for potentially addressing the ~1% of cases that aren’t yet well covered by unique_ptr, shared_ptr, and weak_ptr.

CppCon 2016: The Evolution of C++ Past, Present and Future--Bjarne Stroustrup

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 Evolution of C++ Past, Present and Future

by Bjarne Stroustrup

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

This is a philosophical talk. It deals with ideals, aims, and ways of approximating those. It deals with practical constraints and risks. It gives short examples. It presents a perspective of what drives the evolution of C++. What is C++ and what it must become over the next years for its success to continue? This involves both social and technical points. Towards the end, I discuss the direction of C++ future evolution, give some opinions, point to urgently needed new features, and discuss how to manage until they are part of the standard.

Learning Modern C++ from Scratch -- Giovanni Dicanio

There's a new video course published in the Pluralsight library, designed to take the learners from zero to being productive with basic elements of modern standard C++:

Learning Modern C++ from Scratch

by Giovanni Dicanio

From the blog post:

C++ is a language having a reputation of being hard to learn.

In this C++ course of mine published by Pluralsight, I did my best to prove the opposite: C++ can be learned in a simple, interesting, and fun way!

I used a variety of engaging visuals, metaphors and example demo code to try to teach modern, clear, good C++ from scratch, from the beginning, without any previous programming knowledge.

And, even if you already know C++, you may have fun watching this course as well.

 

CppCon 2016: Grill The Committee Panel

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:

Grill The Committee Panel

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

What would you like to know about the C++ standard?
Join us for a panel discussion with the leaders of the C++ standards committee where the audience asks the questions.

CppCast Episode 100: Past, Present and Future of C++ with Bjarne Stroustrup

Episode 100 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Bjarne Stroustrup, designer and original implementer of C++ to discuss the current state of C++, his vision for the future as well as some discussion of the past.

CppCast Episode 100: Past, Present and Future of C++ with Bjarne Stroustrup

by Rob Irving and Jason Turner

About the interviewee:

Bjarne Stroustrup is the designer and original implementer of C++ as well as the author of The C++ Programming Language (Fourth Edition) and A Tour of C++, Programming: Principles and Practice using C++ (Second Edition), and many popular and academic publications. Dr. Stroustrup is a Managing Director in the technology division of Morgan Stanley in New York City as well as a visiting professor at Columbia University. He is a member of the US National Academy of Engineering, and an IEEE, ACM, and CHM fellow. His research interests include distributed systems, design, programming techniques, software development tools, and programming languages. To make C++ a stable and up-to-date base for real-world software development, he has been a leading figure with the ISO C++ standards effort for more than 25 years. He holds a master’s in Mathematics from Aarhus University and a PhD in Computer Science from Cambridge University, where he is an honorary fellow of Churchill College.

CppCast Episode 99: Intel C++ Compiler with Udit Patidar and Anoop Prabha

Episode 99 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Udit Patidar and Anoop Prabha from Intel to discuss Intel's C++ Compiler and suite of Performance tuning Software Development Tools.

CppCast Episode 99: Intel C++ Compiler with Udit Patidar and Anoop Prabha

by Rob Irving and Jason Turner

About the interviewees:

Anoop Prabha is currently a Software Engineer in Software and Services Group at Intel working with Intel® C++ Compiler Support. He played paramount role in driving customer adoption for features like Intel® Cilk™ Plus, Explicit Vectorization, Compute Offload to Intel® Processor Graphics across all Intel targets by creating technical articles and code samples, educating customers through webinars and 1-on-1 engagements. He is currently driving the Parallel STL feature adoption (new feature in 18.0 beta Compiler). Before joining Intel, Anoop worked at IBM India Private Ltd as a Software Developer for 3 years in Bangalore, India and later completed his graduation from State University of New York at Buffalo.

Udit Patidar works in the Developer Products Division of Intel, where he is a product manager for Intel software tools. He was previously a developer working on Intel compilers, focusing on OpenMP parallel programming model for technical and scientific computing workloads. He has extensive experience in high performance computing, both at Intel and previously. Udit holds an MBA in General Management from Cornell University, and a PhD in Computer Science from the University of Houston.

CppCast Episode 98: Hippomocks and cpp-dependencies with Peter Bindel

Episode 98 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Peter Bindels to discuss the Hippomocks mocking library and the cpp-dependencies tool he worked on that was open sourced from TomTom.

CppCast Episode 98: Hippomocks and cpp-dependencies with Peter Bindel

by Rob Irving and Jason Turner

About the interviewee:

Peter Bindels is a C++ software engineer who prides himself on writing code that is easy to use, easy to work with and well-readable to anybody familiar with the language. He's worked for a contractor for a few years and then made the switch to work at Tomtom, where he's been working on various parts of the software chain, last of which was a major cleanup in the navigation code base. In doing so he developed a tool to determine, check and improve dependencies between components, which allows quicker structural insight in complicated systems. He also created HippoMocks in 2008, one of the first full fledged C++ mocking frameworks that is still a relevant choice today. He has given two talks at Meeting C++ 2016 and will be giving his third talk, on Mocking in C++, at CppNow 2017.