Skip to main content


Taking another crack at learning #Rust (sorry @screwlisp ).

reshared this

in reply to Jonathan Lamothe

this is what veilid was implemented in. And we will always have MOO
in reply to screwlisp

@screwlisp Yeah, Veilid is the reason I'm choosing to use Rust in the first place. The last time I read the documentation, I was generally able to understand the concepts (at least in theory). I just didn't really have a project in mind to put that learning into practice, so much of it has faded.

If I can learn Haskell though, I'm sure I can learn Rust.

in reply to Jonathan Lamothe

when I first looked at rust, the concepts in the docs made sense but writing code was difficult. I put it down for 6 months and when I came back the curve was more natural. I think there's just a necessary bake period for the consequences of the simple concepts and their interactions to become intuitive, practical, applicable patterns. Main piece of advice I'd give is "keep calm and call clone". It will look "inefficient", but it will get you unstuck to learn the rest of the lang.
in reply to Esteban K�ber :rust:

@ekuber Do you still find it necessary to use clone a lot? I resisted -- not on the basis of efficiency, but wanting to understand the language's approach to handling memory -- and found it wasn't often needed.

So, options for newcomers include:

1. The "steep route": avoid cloning until you learn to work "with the grain" of the borrow checker.
2. The "gentler route": clone liberally until you're comfortable with the rest of the language, and then try to understand ownership.

in reply to Jonathan Lamothe

every time I said this I ended up regretting it within a week

screwlisp reshared this.

in reply to Reid

@Reiddragon
DJ UNK and I basically have a show that's just about what @me does.

BREAKING
GREEN TEA ADDED TO MENU AT PARADISE SUSHI

so according to classic Bell labs at worst jlamothe is a minor success ;p

in reply to Jonathan Lamothe

Just got to the section on Smart Pointers. As I recall, this is where things start to get particularly interesting/complicated.
in reply to Jonathan Lamothe

You don't often need smart pointers if you get the design of your code right. Similarly, there's not much need to use copy or clone if you work "with the grain" of the borrow checker. Adapting your designs and coding style in this way is, IMO, the key part of learning Rust.
in reply to Jonathan Lamothe

for me the hard part to stop making mistakes around was the difference between &str and String, but the hard part to actually understand is pinning. Smart pointers are pretty straightforward.

This website uses cookies. If you continue browsing this website, you agree to the usage of cookies.