@Haelwenn /элвэн/ :triskell: I kinda disagree with that. You could write a C compiler, down to the asm generation, in any existing language (that themselves would likely need a C compiler to bootstrap, but that's not the point). The really interesting part is the assembler. Once you have asm, you need to translate it into machine language, and although you could write an assembler in any language, you really want to be able to bootstrap one, so ideally you'd have a micro-asm hand-written in machine language to build your assembler with.
It's the last step that's problematic. Anything above the asm is reading a text file, manipulating some data structures, and outputting a text file. It's a filter, and that can be written in any language.