3 ms·
Whenever I see <language A> rewrites its compiler in <language B>, and A != B, I lose a bit of interest in language A.
by nialv7 2y ago
Whenever I see <language A> rewrites its compiler in <language B>, and A != B, I lose a bit of interest in language A.
- Hasnep 2y agoWhy? Roc has good reasons for not self hosting the compiler.
- nialv7 2y agoWell 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.
- Hasnep 2y agoThat 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.