DEV Community

Discussion on: What is self-hosting, and is there value in it?

Collapse
 
eli profile image
Eli Bierman

One cool aspect of self-hosting is that any performance improvements to the language make the compiler faster, which creates a nice positive feedback cycle. It also discourages excessive breaking changes to the language since the language developers have to migrate the compiler itself to every new version and deal with any breakages. That also gives me a degree of confidence in the stability of a language. Python, for example, has had major issues with breaking changes to the language where the upgrade path was unclear. On the other hand, Go is an example of a self-hosted language that makes a point of introducing no breaking changes and only performance improvements to language updates.

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

On the contra, by not using a shared backend you lose out on all the optimizations that other people are making in the shared back-end, such as in LLVM.

Python's big break is one of the things that motivated my desire to build a language that would have versioned syntaxes. You can slowly improve syntax, without breaking old projects.