I agree strongly with these comments.<p>I used template heavy C++ back in the late 1990s, rolling container classes implementing smart pointers it was tricky to get good code compatibility across a range of compilers: Edison Design Group, icc, MSVC++, gcc.  Ultimately I found myself reassessing the tradeoffs in using C++ for many projects.<p>Fast forward to 2015 and the situation is much better - even for &quot;soft&quot; embedded scenarios. GCC and clang have good reach and MSVC++ is evolving with the language.<p>Engineering decisions are often about making tradeoffs and with the state of C++14 and things like C++ Core Guidelines and good support for RVO&#x2F;move optimisations I find the appeal of C++ has broadened again.  And there is good support for modern C++ on many platforms.<p>Of course there are platforms out there where C++ is still not suitable.  For example I&#x27;m currently doing a lot of 8086 real mode work, where due to external constraints all the code has to be written in assembler.  Neither C or C++ are candidates for me in this work.  These platforms will always exist.  But many embedded platforms with smart phone level of processing power are solid targets for modern C++.