3 ms·
It's useful for development environments to cache things which have not changed in order to shorten the feedback loop. Many do. The problem is guaranteeing cor
by desc 7y ago
It's useful for development environments to cache things which have not changed in order to shorten the feedback loop. Many do.
The problem is guaranteeing correctness. Correct cache invalidation is Hard(TM). Therefore, the CI system builds from scratch in order to guarantee a clean, correct and reproducible output from a given snapshot of the source.
As for 'live programming' against a running image, this write-up starts with the implicit assumption that this is always a good thing. While it can be useful on occasion, the reason for restarting the application after changing its source code is the same reason we favour functional, immutable styles: mutable state is a pain and it's best to push it out of the thing you're working with if at all possible. Modifying the running image risks ending up with internal states which no single snapshot of the source could ever have yielded.