@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.
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.
@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.
I mean, yeah... But I'm not part of veilid's governance. And the theme was to basically annex the corpos uncontested land (using their own crablang against them). Sez me. w/e @Reiddragon @me
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.
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.
screwlisp
in reply to Jonathan Lamothe • • •Jonathan Lamothe
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.
Esteban K�ber :rust:
in reply to Jonathan Lamothe • • •glyn
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.
Reid
in reply to Jonathan Lamothe • • •screwlisp reshared this.
Lightning Bjornsson :evdonia_corner_emblem:
in reply to Reid • • •screwlisp
in reply to Lightning Bjornsson :evdonia_corner_emblem: • • •@Reiddragon @me
Reid
in reply to Lightning Bjornsson :evdonia_corner_emblem: • • •Jonathan Lamothe
in reply to Lightning Bjornsson :evdonia_corner_emblem: • •screwlisp
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
Jonathan Lamothe
in reply to Jonathan Lamothe • •glyn
in reply to Jonathan Lamothe • • •Jeremy List
in reply to Jonathan Lamothe • • •