D
dj3vande
Richard said:But meanwhile in the real world where efficiency and cost effective SW
development is important ...
....portability matters.
At my day job, we have both code written by standards-and-portability
weenies and code written by whatever-works types.
In terms of efficiency of the code, the standards-and-portability
weenies have a very slight advantage, since they fix their bugs
*before* the optimizer makes subtle bugs less subtle. But that's
barely noticeable at the best of times, and only a small amount of code
actually *needs* to run fast.
In terms of cost-effective development, any difference in productivity
between the standards-and-portability types and the whatever-works
types is completely lost in the effects of understanding of the problem
domain. (We have a lot of variability in the latter (in both the
problem domains and in who understands which ones how well), and it's
pretty much completely independent of the attitudes toward
portability.)
So for single-platform development, there's no detectable difference.
But now we're thinking of switching platforms.
The standards-and-portability weenies have already tested half the code
they've written on the platform we're thinking of switching to, since
that's what standards-and-portability weenies do. (Besides, some types
of problem are a lot easier to debug on that platform than on the one
we currently deploy on, so being able to run the code there already has
a nonnegative ROI.)
The whatever-works types have a whole bunch of code that has never been
compiled or run outside our current toolchain and deployment platform.
Which chunks of code do you think we're more likely to be able to get
running efficiently and cost-effectively on the new platform?
dave
(I don't expect Richard to provide any evidence of having gotten my
point, but it's worth pointing out for other readers.)