4 ms·
We could do day-to-day Rust/C++/any compiled language related development with an interpreter/JIT and then compile the code once a PR is ready and the code hits
by amenghra 3y ago
We could do day-to-day Rust/C++/any compiled language related development with an interpreter/JIT and then compile the code once a PR is ready and the code hits CI/CD or gets deployed. The "instant" runtime doesn't even need to have the exact same behavior -- it can be 99% accurate and still be very useful.
- rewmie 3y agoWhy would anyone subject himself to that? All mainstream build systems already support incremental builds, and in some cases it's even possible to leverage compiler cache to further shave down the time it takes to rebuild a project. Breaking down a monolithic project into submodules is all it takes to shave off a big chunk of time from a build.
- amenghra 3y agoImagine being able to set a breakpoint in a function, change something and ask the debugger to “travel” back in time and pretend the code was always what it’s been changed to. It’s something some languages give you but I’m not sure an incremental compiler is sufficient? These kinds of few seconds/minutes shaved add up and can impact one’s productivity.
- tomjakubowski 3y agofor that kind of thing I would imagine more late binding in the language is helpful at the level Rust works, late binding is hard to do but I don't think it's impossible. Name mangling and calling conventions are a couple big obstacles.