top | item 13694959

(no title)

bobmoretti | 9 years ago

C++, especially modern standards of the language, offer far more than OOP features.

/If/ you know the language and tools well, there is no reason that C++ won't be as efficient in space and time as the equivalent C code. C++ offers real gains to be had over C for embedded software, with rich (if a bit cryptic) zero-overhead abstractions, and higher level constructs that can eliminate entire classes of errors.

discuss

order

wott|9 years ago

Nothing guarantees that it is zero-overhead, it all depends on the efforts, quality and mood of the C++ compiler. Whereas in C you can at least rely on the fact that even without any complex optimisation it will at worst produce machine code that looks 99% like the C code, because it maps 1 -> 0.99. Good luck telling what is the complexity hidden behind a C++ operator.

eliangidoni|9 years ago

Right, that was my point. You have to use time/effort on understanding the compiler workings, time that could be used to focus on your actual problem and features implementation. For firmware I wouldn't.