<snip>
[using C++ to emulate hardware]
Well, I certainly wouldn't do it that way. If I have understood you
correctly, you're using one set of code for development, and a very
different set of code (and indeed a different language!) for testing.
Okay, I'm not going to say it was a bad decision, but it does go against
what I would consider to be good test design principles.
I believe he's talking about using C++ to emulate hardware.
This means a large chunk of the software can be tested
without specialist hardware. And with superior debugging
facilities.
With really specialised hardware the hardware may not exist
when the software development starts.
Some peripherals may be expensive, power hungry physically large
or massive (I've worked with power amplifiers that filled a room).