> Tracing GC is the simplest model for the user, and helps with time management and development velocity, two very important aspects of software engineering. > Borrow checking is very fast, and helps avoid data races. One thing many people seem to assume is that not having to care about memory means you can program faster and get to your goal faster. As the author here seems to do. However as it turns out, if your pr…
I don't write Rust. But here is what you said and what the author said don't conflict with each other, and it has been on my mind for a while. People who write similar code, or work on things for decades usually don't really think through what "sketch out some code" looks like. They spend most of their time on refactoring things that has clear use-cases, but not well-defined API boundaries within the component, or be…
I think the real criteria for "will static types and stricter checks help?" is "how long will this thing last for?".
E.g. for a shell REPL you definitely don't want to have to write our types, but for a shell script you definitely do.
Something like using MATLAB for exploratory research is probably another decent example. Or maybe hackathon games.
But for most games, data analysis, machine learning etc. then being stricter pays for itself almost immediately.