Modern C++ in Embedded Systems
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.
This session will use a bare-metal project started in 2018 for a Ciere client as a case study while we work through the decision process for using C++, the acrobatics required to support the language, recent language features that enable goals of size, speed, and expressiveness, and useful libraries.
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.
EVENT:
C++Now 2018
SPEAKER:
Michael Caisse
PERMISSIONS:
Original video was published with the Creative Commons Attribution license (reuse allowed).
CREDITS:
Original video source: https://www.youtube.com/watch?v=c9Xt6Me3mJ4
Additional material for C++ learners:
https://amzn.to/2TquTgE Murach's C++ Programming
https://amzn.to/2Tqx2ZK. C++ in One Hour a Day, Sams Teach Yourself (8th Edition)
https://amzn.to/2Fk1CiP A Tour of C++ (2nd Edition) (C++ In-Depth Series)
https://amzn.to/2OjPToz C# Programming Illustrated Guide For Beginners & Intermediates: The Future Is Here! Learning By Doing Approach
Other Videos By Coding Tech
2018-10-08 | Actually Understanding Asynchronous JavaScript |
2018-10-07 | "Finally, JavaScript Is Easy!" |
2018-10-04 | ES Next Features That'll Make You Dance |
2018-10-03 | npm and the Future of JavaScript |
2018-10-02 | Rust in Production |
2018-10-01 | ELECTRON: State of the Universe |
2018-09-30 | MySQL 8.0 is Out! Are We There Yet? |
2018-09-29 | Learning React Native as a Junior Engineer |
2018-09-27 | A Gentle Introduction to Functional JavaScript |
2018-09-26 | NODEJS: WHATS NEXT |
2018-09-23 | Modern C++ in Embedded Systems |
2018-09-21 | PureScript: Tomorrow’s JavaScript Today |
2018-09-21 | BLAZOR: Modern Web Development with .NET and WebAssembly |
2018-09-19 | Whats Coming to C# |
2018-09-18 | Probabilistic Programming: A Modern Bayesian Workflow || Peadar Coyle |
2018-09-18 | What Is DevOps? |
2018-09-13 | GraphQL: The Good Parts |
2018-09-10 | GitHub Pull Requests for VS Code |
2018-09-09 | BLOCKCHAIN APPS IN GO - Build Your Own Blockchain App |
2018-09-04 | How Do You Structure Your Go Apps? |
2018-09-03 | SERVERLESS: The Rise Of External Services |