&gt;Producing a crappy interpreter for a toy C-like language is about the same as producing a crappy interpreter for a toy Lisp language.<p>Ab-initio perhaps (and even that isn&#x27;t clear because parsing sexprs is a lot easier than parsing C).  But producing a production-compiler for a non-toy Lisp-like language given a compiler for Lisp is a heck of a lot easier than producing a production-quality compiler for a non-toy C-like language given a compiler for C.<p>&gt; C did turned into a Tower of Babel: in the libraries.<p>Sure, and for the same reason: it&#x27;s easy to write library code in C.  In fact, that&#x27;s the <i>only</i> thing that&#x27;s easy to do in C.  So that&#x27;s what C programmers do: they write library code.  They don&#x27;t, as a general rule, write compilers.  So the compilers stay stable and the libraries don&#x27;t.