C vs. C++ on Embedded Devices

We wanted to avoid C++--since we lacked the space for both the C and C++ standard libraries, choosing a C++ GUI would tie the entire device to the C++ standard libraries. We had selected C libraries and applications so we would have to compile in or add "glue" code to ensure runtime compatibility with the C++ libraries. Doing this would blend OO code with non-OO code and would increase the footprint.

Moreover, it is our experience that C is a better language than C++ for small teams working on embedded devices. While in theory OOP with C++ lets you rearrange tasks into the most effective way to solve a problem, in practice, C++ solutions are bulkier than their C counterparts.