Is Go not at this point yet? I only have casual knowledge of the language, but it sure sounds like it is capable of building itself.
It seems like Go is trying to capitalize on the momentum they have. Improvements to the language are still coming quickly. I'd be surprised if a self-hosting compiler isn't among their goals, but writing a new compiler without slowing down language progress in the current reference compiler is not easy.
Also, you would want a compiler written in a high-level language (versus C) precisely because you want to speed up the development of new features.
> Also, you would want a compiler written in a high-level language (versus C) precisely because you want to speed up the development of new features.
Sure, but you'll need to pull people away to do that and will either have to stop your C-based compiler effort or resign yourself to prolonging the Go-based compiler development by playing catchup. In the meantime you aren't really as productive as you could have been. Go seems like it's about to slow down on language-level changes, which is the perfect time to start working on a Go-based compiler.
That would depend on how much of the web environment you want to reproduce and what language we're talking about. The original Oberon fit into some 5500 lines of code, if I'm not mistaken. That's sort of smaller than Apache httpd. It's even smaller than nginx and lighttpd. And we're still talking about pretty weak languages, have you seen some of the self-hosting metacompiler stuff? (META-II, TREE-META, OMeta etc.) Don't forget that the design of the reference Go implementation is actually pretty close to the Oberon tradition of making things simple.
Granted gcc could now be used. But then you're back to using a compiler built in C++ to build Go code.
But the current compiler works, has a lot of testing and production use and isn't broken in any serious way. For a compiler, I'm not sure Go offers enough benefits over C/C++ to make it worth throwing away the existing code base and rewriting.
Sure you will need to use Assembly for a few runtime parts, but C is no different, if you look at ISO/ANSI C without language extensions.