As a group, embedded systems programmers tend to be more concerned than other programmers about the speed and space costs of programming language features, and rightly so. These concerns lead some of them to reject certain features outright in the belief that those features are too costly. In the process, they may adopt poor designs and coding techniques just to avoid those language features. This is often a mistake, because C++ offers many ways to fine-tune programs to eliminate those costs, or at least reduce them to acceptable levels.