title: How can a C compiler be written in C?
body: <p>This question may stem from a misunderstanding of compilers on my part, but here goes...</p>
  
  <p>One can find the following statement in the preface to the first edition of K&amp;R (page xi):</p>
  
  <blockquote>
    <p>The operating system, <em>the C compiler</em>, and essentially all UNIX applications programs (including all of the software used to prepare this book) are written in C.</p>
  </blockquote>
  
  <p>(my emphasis)</p>
  
  <p>Here's what I don't understand: doesn't that C compiler have to be compiled itself before it can compile any C code? And if that C compiler is written in C, wouldn't compiling it require an already existing C compiler?!</p>
  
  <p>The only way out of this infinite-regression conundrum (or chicken-and-egg problem) is that the C compiler written in C that K&amp;R are referring to was actually compiled with an already existing C compiler that was written in a language other than C. The C compiler written in C then superseded the latter.</p>
  
  <p>Or am I completely off?</p>