← Back to context

Comment by nialv7

1 year ago

Whenever I see <language A> rewrites its compiler in <language B>, and A != B, I lose a bit of interest in language A.

Why? Roc has good reasons for not self hosting the compiler.

  • Well their main reason is a compiler written in Roc won't be performant. (And their tag line is "Roc: A _fast_, friendly, functional language.")

    So yeah, I am not interested. Plus I feel in general not dogfooding your own language is a bad sign.

    • That excludes all languages that want to write the compiler in a lower level language than the target language itself. You can easily imagine a high level language with a fast compiler written in C where if you rewrote the compiler to be self hosted the performance would drop 10-100x.

      Dog-fooding is important, but it can be done outside of compiler development. If the only code the compiler team writes is the compiler, they end up designing a language that's great for implementing compilers at the expense of other use cases.