Being relatively new to Mozilla development I thought the document was a little pessimistic. Then I saw the wide variety of compilers Mozilla is compiled on, some of which are rather dated.
I sympathize with Scott, and I know many are trying to push compiler vendors to be standard compliant. It's unfortunate that there are so many compilers out there that aren't mostly standard compliant. It's the reality we have to live in unless Mozilla is going to stop supporting platforms based on available standard confirming compilers. I know with versions of VC++ prior to 6.0 templates were problematic. While in general they worked fine, in combination with other constructs they often caused mysterious compiler errors, the infamous "Internal Compiler Error". I imagine the same is true on some of the older more obscure systems Mozilla is compiled on. Even today VC++ 6.0 has problems with templates in combination with some constructs, I think nested classes still cause problems and you have to be very careful when using member templates. It can also cause a lot of work. I and other developers don't have all these other compilers. So if I add code that uses some C++ facility that some obscure compiler either doesn't support or the has bugs in that support I won't find out there's a problem until it's built on that platform. And then it can be difficult and time consuming to figure out a way around it. I've spent a fair amount of time figuring out how to rearrange code so that VC++ 6.0 won't generate Internal Compiler Error's. Now imagine trying to get around such problems when you have to wait for some remote site to build and report back and then go through the whole check-in process just to test again.
