←back to thread

177 points signa11 | 1 comments | | HN request time: 0.215s | source
Show context
ufmace ◴[] No.42160966[source]
I don't really agree with this. I'd phrase it more as, you have to learn to really understand what the borrow checker is trying to do and how it makes you architect your programs and consider that ahead of time. Once you understand that, you'll rarely have problems with the borrow checker. It does preclude significant chunks of styles and data structures often used in other languages though.
replies(1): >>42161279 #
Const-me ◴[] No.42161279[source]
> it makes you architect your programs and consider that ahead of time

This only works for projects which do not involve any R&D, but have a complete and well written functional specification written in advance. Also for projects which do a complete re-implementation of some pre-existing software.

For greenfield projects which require substantial amount of R&D, it’s impossible to architect programs ahead of time. At the start of the development, people only have a wishlist. Architecture comes later, after several prototypes implemented and evaluated, and people have some general understanding what does and doesn’t work, and what specifically needs to be done.

Rust implies that upfront architecture costs even for prototypes.

replies(2): >>42161511 #>>42165016 #
1. Olumde ◴[] No.42161511[source]
Agreed. This is probably the reason why rewriting in Rust "works" -- because the architecture has been previously worked out.