C++Now 2019 has ended
Back To Schedule
Monday, May 6 • 16:30 - 18:00
Embedded Domain Specific Languages for Embedded Bare Metal Projects

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Feedback form is now closed.
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.

avatar for Michael Caisse

Michael Caisse

Ciere Consulting
Michael Caisse has been crafting code in C++ for 30-years. He is a regular speaker at various conferences and is passionate about teaching and training. Michael is the owner of Ciere which provides Software Contracting services, C++ training, and Project Recovery for failing multidisciplinary... Read More →

Monday May 6, 2019 16:30 - 18:00 MDT
Hudson Commons