I got a chance to talk with CppCast* and one of the questions that came up was self-hosting. I thought I'd write something quickly about it, and leave it open to discussion as to the value in it.
*Sorry, no embed as they don't appear to be listed on the podcasts here. 😟
I was working on the Leaf compiler, which we talked about on the show because it was written in C++. I was asked whether my goal was to self-host it.
I said that self-hosting was never a goal of Leaf. I think that answer was a bit unexpected. Sure, ultimately, it would be self-hosted, but I couldn't think of any short-term value in it. It brings no new features to the language, yet creates a boot-strapping hassle. Having another language written in C++ doesn't hurt either community. Just as Python being written in C doesn't detract from either Python or C.
Do you think that having a self-hosting compiler represents a kind of maturity for the language? Is it a case of eating your own dog food? Or is it unnecessary and distracting from a language's main goals?
What do you think?