Maybe! There are a lot of directions a Part 2 could go. One option would be to go deeper into one of the subjects we touched on. With lifetimes, I could explore some trickier examples, and go into the concepts from doc.rust-lang.org/nomicon/subtyping.html. With aliasing, I could go into detail about Cell and RefCell, and maybe do a tour of all the "escape hatches" in the standard library and how UnsafeCell underlies them. With move semantics, I could talk about moving between threads through channels, or how to use by-value operations to represent transitions in a state machine. Another possible option would be to go into some of the big topics that this video explicitly skipped, like enums and error handling. An introduction to enums could explore some really interesting cases, if I was allowed to assume that the viewers had already watched this video :) In general, I should study some of Jon Gjengset's videos to get a better idea of how he's covered these topics already. So yeah...lots of possibilities, not sure what the most promising direction would be. What would you be most interested in seeing?
@@oconnor663 Yeah there tons of really good places to go. Lifetimes in particular can be really unintuitive at first, (at least it's been my experience and that of people I've talked to) So I feel like there's room to explore some of the unexpected places were explicit lifetimes rear their heads (and confound the newbies to no end). But honestly, going over some of the other language features like Traits+Subtyping, Enums, Threading, diving into practical applications of Move Semantics like you said, etc, would be really cool too. Nothing against Jon Gjengset, he puts out a lot of great content (and a book too no less! lol) but I often find his videos to be a little too "stream of conscious" to easily absorb much of what's he's trying to convey on the first watch. Especially when it involves some of the more esoteric bits of Rust :P I'd love to see more content like this though. The way you deliver the content feels super polished. Very clear and well structured. I liked how every section started with a "Big Idea" thesis to ground the following slides in something, also, really liked seeing the comparable examples in C++. I'm not super familiar with "modern" C++, but even so, having a frame of reference so see how another language does (or doesn't) approach some concept is SUPER helpful to anchor a concept. I'm not super new to Rust myself, but I'm always looking out for good teaching material I can point people to, this vid (or maybe the _fast_ version, that was the one I watched initially) is definitely going on my list... Incidentally, do you give talks often/professionally? It was great :P Thanks for creating this!
@@encapsulatio I'd like to learn Zig, but I haven't put in the time yet, so I definitely don't have a well-informed opinion. I think it's important to clarify that Zig isn't memory-safe, at least not yet, though it's possible their ReleaseSafe mode will have enough runtime checks to take care of common cases?
wow. one of the best presentation. thank you for your time and sharing the knowledge.
btw. great talk. you explain really well. i've understood a lot of concepts. thank you for your time.
Great job!
Awesome sauce! More please!
Really great talk. will there be a part 2? :D
Maybe! There are a lot of directions a Part 2 could go. One option would be to go deeper into one of the subjects we touched on. With lifetimes, I could explore some trickier examples, and go into the concepts from doc.rust-lang.org/nomicon/subtyping.html. With aliasing, I could go into detail about Cell and RefCell, and maybe do a tour of all the "escape hatches" in the standard library and how UnsafeCell underlies them. With move semantics, I could talk about moving between threads through channels, or how to use by-value operations to represent transitions in a state machine. Another possible option would be to go into some of the big topics that this video explicitly skipped, like enums and error handling. An introduction to enums could explore some really interesting cases, if I was allowed to assume that the viewers had already watched this video :) In general, I should study some of Jon Gjengset's videos to get a better idea of how he's covered these topics already. So yeah...lots of possibilities, not sure what the most promising direction would be. What would you be most interested in seeing?
@@oconnor663 Yeah there tons of really good places to go. Lifetimes in particular can be really unintuitive at first, (at least it's been my experience and that of people I've talked to) So I feel like there's room to explore some of the unexpected places were explicit lifetimes rear their heads (and confound the newbies to no end). But honestly, going over some of the other language features like Traits+Subtyping, Enums, Threading, diving into practical applications of Move Semantics like you said, etc, would be really cool too. Nothing against Jon Gjengset, he puts out a lot of great content (and a book too no less! lol) but I often find his videos to be a little too "stream of conscious" to easily absorb much of what's he's trying to convey on the first watch. Especially when it involves some of the more esoteric bits of Rust :P
I'd love to see more content like this though. The way you deliver the content feels super polished. Very clear and well structured. I liked how every section started with a "Big Idea" thesis to ground the following slides in something, also, really liked seeing the comparable examples in C++. I'm not super familiar with "modern" C++, but even so, having a frame of reference so see how another language does (or doesn't) approach some concept is SUPER helpful to anchor a concept.
I'm not super new to Rust myself, but I'm always looking out for good teaching material I can point people to, this vid (or maybe the _fast_ version, that was the one I watched initially) is definitely going on my list... Incidentally, do you give talks often/professionally? It was great :P
Thanks for creating this!
how do you make this slides ? so useful. is there a tool that creates this slides from markdown ?
I made these with revealjs.com.
What is the difference between slower & faster version ? Cut down the contents?
The faster version is maybe 50% me talking faster and 50% me skipping over some details.
@@oconnor663 What is your opinion on Zig compared to Rust?
@@encapsulatio I'd like to learn Zig, but I haven't put in the time yet, so I definitely don't have a well-informed opinion. I think it's important to clarify that Zig isn't memory-safe, at least not yet, though it's possible their ReleaseSafe mode will have enough runtime checks to take care of common cases?
Is this video unlisted? Because if it is, the new youtube UI no longer says if a video is unlisted or not
Shouldn't be!
@@oconnor663 Okay good! I got scared for a moment there... It's pretty funny how much the algorithm picked up the other video vs this
What did you use to spotlight parts of your code while you were presenting?
This is a nice built-in feature of reveal.js: revealjs.com/code/#step-by-step-highlights
Came here for the Taliban... Stayed for rust.
came for what
@@mlgpro2241 do you need a translation. Nonce