I am in the process of learning rust by creating software for my own use.
While the borrow checker feels like “fighting the compiler” at times (it took me a week before it started to land, and i have used my share of programming languages!), you will learn.
I compare this to the C world where you can have quite complex constructs with pointers and references. That used to be hard as hell as well. Until it clicks.
The only difference is that in C land, your software will segfault during runtime. In Rust your code will complain during compilation.
Rust without borrow checker is just a bad version of C in my opinion. Rust with borrow checker actually brings value.
In rust it is still possible to make circular references and cause memory leaks but it is very less likely.
So: i understand where you are coming from but give it a chance to land. I am glad I did.
The only thing which is bothering me at times is that the Rust community can come across as highly unfriendly/intolerant at times (comparable to the scala community, which in effect killed the adoption of scala).
The response to your comment should not have been burning it to the ground but to ask why the borrow checker does not click for you.
I can highly recommend the series “lets get rusty” on YT from Bogdan. He is explaining the main constructs in very easy to follow instructions videos.
I am in the process of learning rust by creating software for my own use.
While the borrow checker feels like “fighting the compiler” at times (it took me a week before it started to land, and i have used my share of programming languages!), you will learn.
I compare this to the C world where you can have quite complex constructs with pointers and references. That used to be hard as hell as well. Until it clicks.
The only difference is that in C land, your software will segfault during runtime. In Rust your code will complain during compilation.
Rust without borrow checker is just a bad version of C in my opinion. Rust with borrow checker actually brings value.
In rust it is still possible to make circular references and cause memory leaks but it is very less likely.
So: i understand where you are coming from but give it a chance to land. I am glad I did.
The only thing which is bothering me at times is that the Rust community can come across as highly unfriendly/intolerant at times (comparable to the scala community, which in effect killed the adoption of scala).
The response to your comment should not have been burning it to the ground but to ask why the borrow checker does not click for you.
I can highly recommend the series “lets get rusty” on YT from Bogdan. He is explaining the main constructs in very easy to follow instructions videos.
Have a look and see if it makes it work for you!