But it’s not easy. Understanding how memory works isn’t easy, and satisfying the borrow checker is even harder. There are quite a few things that the borrow checker rejects that are completely fine, so you also may need to relearn some idioms.
Perhaps it would be better to market it as encouraging “sustainable” code. By that I mean:
lower chance of introducing concurrency bugs if you stick to safe rust
smother, safer refactors due to the type system and borrow checker
better long term performance because memory related performance issues are more obvious
strong nudge toward smaller structures because a lack of inheritance makes massive structures more of a pain to deal with
And so on. It encourages a more sustainable codebase, though you’ll pay for that upfront.
But it’s not easy. Understanding how memory works isn’t easy, and satisfying the borrow checker is even harder. There are quite a few things that the borrow checker rejects that are completely fine, so you also may need to relearn some idioms.
Perhaps it would be better to market it as encouraging “sustainable” code. By that I mean:
And so on. It encourages a more sustainable codebase, though you’ll pay for that upfront.