Is making the rust compiler slow a billion dollar mistake?
To me -- this seems like an obvious candidate for a future 'billion dollar' mistake retrospective essay.
How and why is it that 'support fast compilation' isn't a necessary pre-condition for any modern language hoping to achieve serious usage?
With rust in particular -- it seems like a whole lot of the slow compilation behaviors are not fundamental to any of the most important aspects of the language ...
Is there anyone out there who has tried to fork the rust ecosystem in a way which deliberately breaks compatibility in order to chart the simplest path to a fast, scaleable compilation strategy for the language and ecosystem?
I have a feeling that such an effort -- rust with some misfeatures removed, and with the package system simplified in order to speed up compilation would actually take off and be able to replace the current ecosystem relatively quickly ...
6 comments
[ 3.4 ms ] story [ 42.9 ms ] threadWhen choosing between languages, compile times should be a tie-breaker at most. If Rust had focused on super fast compilation from the start, it probably would have slowed developing the features that actually made it successful.
Its like a startup that spends forever building the perfect scalable backend instead of just solving customer problems. The hacky solution usually wins.
> Is there anyone out there who has tried to fork the rust ecosystem ... I have a feeling that such an effort ... would actually take off and be able to replace the current ecosystem relatively quickly
Forking the entire Rust ecosystem seems pretty unlikely to work, but everything's open source so anyone can give it a shot.
I've used other languages and environments with faster cycles, and I feel more productive and happy, but working isn't usually about maximizing my feelings of productivity and happiness, so there you go.
I've also worked with plenty of mainstream languages and environments that were about as bad or worse. You just adapt and post on HN while the compile / deploy is running, rather than getting things done quickly. I suspect compile times will improve at some point, perhaps when I get twice the number of cores; a lot of times software expands to fill the growing hardware, but my work project is well scoped and not likely to expand that much.
When writing an application, the ideal would be to write all the wrapper and high level code in a language like Python, while having the performance low level code that shares memory in Rust. Right now this requires a lot of setup.
You could remove generics and speed up the compiler a ton. Then people will be asking if lack of generics was a language design mistake.