Barr Group TwitterBarr Group Vimeo

Though the title of this book only explicitly includes the C language, embedded programmers working in C++ (or a mix of the two languages) are also able to reduce the number of defects in their programs by following the rules herein. This is because the syntax of C++ follows closely from C and many lines of C++ source code rely only on C syntax.

It is important to note, however, that C++ is a substantially larger and more complex language than C and contains a number of features that have no equivalent in C. If you are following the BARR-C rules in C++ you should strongly consider adopting other coding standard rules, perhaps choosing from those suggested by [MISRA-C++], [Sutter], and/or [Holub].

As embedded software developers, our focus remains primarily on C, which is the primary programming language for about 70% of professional firmware designers. A longitudinal review of industry surveys spanning 2005 to 2018 shows that C was not only reliably the most widely-used language but that it actually increased its market share from 50% to about 70% in those years. Within the embedded systems community, it appears the peak year for C++ was 2006.