Video & On-Demand

CppCon 2017: Meta: Thoughts on generative C++--Herb Sutter

You should see it!

Meta: Thoughts on generative C++

by Herb Sutter

From the article:

Two years ago, I started to focus on exploring ways that we might evolve the C++ language itself to make C++ programming both more powerful and simpler. The only way to accomplish both of those goals at the same time is by adding abstractions that let programmers directly express their intent—to elevate comments and documentation to testable code, and elevate coding patterns and idioms into compiler-checkable declarations. The work came up with several potential candidate features where judiciously adding some power to the language could simplify code dramatically, while staying true to C++'s core values of efficient abstraction, closeness to hardware, and the zero-overhead principle.

The first two potential candidate features from that work to be further developed and proposed for ISO C++ are the <=> unified comparison operator (minor) and what I've provisionally called "metaclasses" as a way to generatively write C++ types (major). This talk is about the latter, and includes design motivation, current progress, and some live online compiler demos using the prototype Clang-based compiler built by Andrew Sutton and hosted at godbolt.org.

CppCon 2017: C++ as a "Live at Head" Language--Titus Winters

New video of Cppcon!

C++ as a "Live at Head" Language

by Titus Winters

From the article:

Engineering is programming integrated over time. That is to say, as much as it can be difficult to get your code to build and run correctly, it is manifestly harder to keep it working in the face of changing assumptions and requirements. This is true no matter the scale, from a small program to a shared library. Only two solutions have been shown to be theoretically sound: never change or provide no compatibility guarantees. What if there were a third option? What if we took the question of maintenance out of the realm of theory and moved it to practice? This talk discusses the approach we've used at Google and how that intersects with other languages, package management, API and ABI compatibility, and a host of other software engineering practices. The particulars of C++ as a language and an ecosystem make it well positioned for a different approach: Live at Head.

CppCon 2017: Learning and Teaching Modern C++--Bjarne Stroustrup

Cppcon 2017 opening keynote by Bjarne Stroustrup is now live.

Learning and Teaching Modern C++

by Bjarne Stroustrup

From the article:

We – attendees at CppCon – are all teachers. Some teach for a living; many occasionally teach a course or give a lecture; essentially all give advice about how to learn C++ or how to use C++. The communities we address are incredibly diverse.

What do we teach, and why? Who do we teach, and how? What is “modern C++”? How do we avoid pushing our own mistakes onto innocent learners?

Teaching C++ implies a view of what C++ is; there is no value-neutral teaching. What teaching tools and support do we need? Consider libraries, compiler support, and tools for learners. This talk asks a lot of questions and offers a few answers. Its aim is to start a discussion, so the Q&A will be relatively long.

CppCast Episode 119: C# and IL2CPP with Josh Peterson

Episode 119 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Josh Peterson from Unity 3D to talk about C# and some of the similarities and differences between the Managed language and C++, he also talks about his work at Unity 3D on IL2CPP.

CppCast Episode 119: C# and IL2CPP with Josh Peterson

by Rob Irving and Jason Turner

About the interviewee:

Josh is a programmer working at Unity Technologies, where he focuses on integration and development of scripting runtimes for the Unity 3D game engine. He enjoys learning about CPU architectures and assembly language, including the recent development of an MOS 6510 emulator in C#. In his free time, he coaches a number of youth soccer teams and reads philosophy and theology.

CppCast Episode 118: FluentC++ with Jonathan Boccara

Episode 118 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Jonathan Boccara to talk about the FluentC++ blog and the benefit of doing daily C++ talks at your office.

CppCast Episode 118: FluentC++ with Jonathan Boccara

by Rob Irving and Jason Turner

About the interviewee:

Jonathan Boccara is a passionate C++ developer working for Murex on a large codebase of financial software. His interests revolve around making code expressive. He regularly blogs on Fluent C++, where he explores how to use the C++ language to write expressive code, make existing code clearer, and also about how to keep your spirits up when facing unclear code. Jonathan loves writing, making videos, reading programming books, hanging out at conferences, meeting people, learning new languages and making trainings and presentations.

Concept Requirements -- EverythingCpp

The new C++ feature defined in Concept TS, the 'concept' allows for a variety of forms of requirements to be written. This video details those forms, with an example of how they may be applied, and why.

Concept Requirements

by EverythingCpp

About the video:

Continuing on the topic of Concepts from previous videos, this video details the types of requirements usable in a concept, how to write them, and how they may be used.

New C++ YouTube Channel (CopperSpice)

New C++ channel on YouTube:

YouTube Channel (CopperSpice)

by Barbara Geller and Ansel Sermersheim

About the channel:

We would like to announce our YouTube channel which we started in July. New content was added today and our goal is to post a new video every other Thursday. Videos will be about C++, CopperSpice, DoxyPress, open source, pair programming, managing a software business, and subjects related to our work. Please subscribe and we look forward to your feedback.

CppCast Episode 117: DebugView++ with Jan Wilmans

Episode 117 of CppCast the only podcast for C++ developers by C++ developers. In this episode Rob and Jason are joined by Jan Wilmans to talk about the DebugView++ debug and logging tool and some of his other open source projects.

CppCast Episode 117: DebugView++ with Jan Wilmans

by Rob Irving and Jason Turner

About the interviewee:

Jan is a Software Engineer at Promexx, contracted by ThermoFisher Scientific to work on integration of motion controller in Transmission Electron Microscopes. He has been programming for 25 years, started with basic, z80 assembly and later C++. He is now a C++ enthusiast, an open source developer and likes to keep up to date on new c++ developments. In his free time he enjoys playing video games and watching science fiction together with his wife Babette.

CppCon 2016: What We've Learned From the C++ Community--Robert Irving & Jason Turner

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:

What We've Learned From the C++ Community

by Robert Irving & Jason Turner

(watch on YouTube) (watch on Channel 9)

Summary of the talk:

For over a year and a half Rob and Jason have been engaging with the speakers, library authors, bloggers and luminaries of the C++ community for their podcast, CppCast. In this talk they'll share the most interesting tools, insights and lessons they have learned from interviewing and interacting with the C++ community