CppCon 2018: Michael Caisse “Modern C++ in Embedded Systems - The Saga Continues”
http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018 — For nearly 35 years I have been working with small processors and there has always been deep divides between practitioners of languages. When writing assembly we ridiculed those using C and when I spent years microcoding we scoffed at everyone. However, nearly all groups continue to wag their heads at the shameful C++ programmers attempting to twist their tools toward the small. Recent language developments have made C++ the obvious choice for many embedded projects; nevertheless, the toxic environment extends past reddit roasts into poor vendor support of tools and nearly obstructionist chip manufacturers. At C++Now I introduced a bare-metal project started in 2018 for a Ciere client as a case study. The goal was to extract useful lessons ranging from tooling acrobatics to idioms, language features, and libraries for producing high quality embedded results. Like an Athenian youth navigating Minos’ labyrinth we were thwarted at every bend and could merely report on the first half of the quest. In this session we will complete the saga with a discussion of the recent language features that enable goals of size, speed, and expressiveness, the libraries employed, and debugging techniques to stave off the minotaur. While the examples will be based on a concrete project, the extracted lessons-learned should be applicable to many embedded projects (bare-metal and small-OS). Attendees will walk away with motivations to use C++ in embedded projects, hints and tips to making tools work, and a sampling of language features and idioms that improve the quality of a final product. — Michael Caisse Ciere Consulting Michael Caisse has been crafting code in C++ for 28-years. He is a regular speaker at various conferences and is passionate about teaching and training. Michael is the owner of Ciere Consulting which provides software consulting and contracting services, C++ training, and Project Recovery for failing multidisciplinary engineering projects. When he isn't fighting with compilers or robots, he enjoys fencing with a sabre. :: ciere.com — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

CppCon 2018: Ben Deane “Operator Overloading: History, Principles and Practice”

Composition on Tiny Embedded Systems in C++ - Luke Valenty - CppNow 2023

C++Now 2018: Michael Caisse “Modern C++ in Embedded Systems”

CppCon 2018: Alan Talbot “Moving Faster: Everyday efficiency in modern C++”

CppCon 2017: Matt Godbolt “What Has My Compiler Done for Me Lately? Unbolting the Compiler's Lid”

Programming in Modern C with a Sneak Peek into C23 - Dawid Zalewski - ACCU 2023

Message Handling in Embedded: a Declarative, Modern C++ Approach - Michael Caisse - CppNow 2022

Bjarne Stroustrup - The Essence of C++

Andrew Kelley: A Practical Guide to Applying Data Oriented Design (DoD)

CppCon 2018: Fedor Pikus “Design for Performance”

CppCon 2018: Simon Brand “How C++ Debuggers Work”

C++ for Embedded Development

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

Building the PERFECT Linux PC with Linus Torvalds

Deeply Embedded C++ - John Hinke - Meeting C++ 2015

CppCon 2018: Odin Holmes “Concurrency Challenges of Interrupt Service Routines”

Keynote: Employing Senders & Receivers to Tame Concurrency in C++ Embedded Systems - Michael Caisse

Reintroduction to Generic Programming for C++ Engineers - Nick DeMarco - C++Now 2024

20023 FRM3 - Taming Embedded C - Pt 1

