Tinkster, your comments are perfectly legitimate. In either case, the answer is that gcc is not required.
How things are handled is going to depend on a lot of things. I'm presuming from the original post that David was talking about his own computer. So there wouldn't be an issue with other users. In my environment, we don't have the resources to be able to deploy an extra system just for builds, turn things into packages, and then redistribute to other systems. We have neither enough servers to make that really worth it, nor the manpower to go through the extra effort. I do spend a fair bit of time on security issues, and do other things to protect our systems, but that's a whole 'nother discussion.
I have also seen some very slick setups with Solaris ldoms and containers deploying virtual environments that give users only exactly what they need and nothing else and closing them off from everything else. In my setting, again, we simply don't have the resources to do that sort of thing.