C++Now 2019: Michael Caisse “Embedded Domain Specific Languages for Embedded Bare Metal Projects”
Channel: CppNow
Date: 2019-06-10

http://cppnow.org
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at: http://cppnow.org/history/2019/talks/
—
Embedded Domain Specific Languages allow us to express ideas at a higher level. They often provide a declarative abstraction that improves readability and reduces errors. EDSLs allow programmers to concentrate on value. 

Embedded projects often worry about program and data size. They can have limited ROM or program execution space and stack is a premium. Between space accounting and general attitudes in the domain, nice abstractions are often exchanged from some hand crafted contortion to save a few bytes. Between a resource obsession and sometimes a loathing of abstraction, we can't have nice things. 

So, are EDSLs too expensive for embedded projects? Does the EDSL confuse more than help? Is abstraction worth it? C++14 and C++17 bring an expressiveness and performance to the language that increases the attractiveness of C++ in the embedded world. 

This session will discuss the benefits of EDSLs and explore a few different open-source libraries that Ciere uses in embedded projects. We will take a look at the resource cost of abstractions and understand which techniques to use and which to avoid. To aid in our understanding, a basic filter computation EDSL will be developed during the session and will be used to demonstrate the cost of competing techniques. 

Whether you are developing for small embedded systems or want a better understanding of using and writing EDSLs, this session will provide you with tools and techniques. Join us and improve abstractions in your code.
— 
Michael Caisse
Ciere Consulting

Michael Caisse has been crafting code in C++ for 29-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
---

*--*

---