Good code. Maybe worth mentioning that expect/unwrap is viable only for fast prototyping, but in production you should avoid panic. Even if the error is not recoverable. This is important because beginners may think that this is like an exception, but it is not. Panic actually crashes your program right away, Rust has no exceptions. Also minor tip: you can use inbuilt lines() instead of split(' '). As a bonus it also accounts different line endings (LF/CRLF).
@andrew-burgess Жыл бұрын
That’s great to know, thanks!
@hc1770 Жыл бұрын
Didn't knew about lines() thanks for sharing!
@verified_tinker1818 Жыл бұрын
`expect()` should be avoided by libraries and apps that should never crash, like web servers, but it's fine in other applications; for example, games. Let's say you have a function that applies a force to objects that go off-screen to bring them back on-screen. It requests the window resource, which holds the screen dimensions. Theoretically, there could be no window-an app can be run without it-so the request returns an option, but your game requires a window, so if it returns `None` at that point, something has gone _very_ wrong. So, it's fine to use `expect()` here.
@climatechangedoesntbargain9140 Жыл бұрын
@@verified_tinker1818 how much wrong is necessary to use expect?
@caerphoto Жыл бұрын
@@climatechangedoesntbargain9140 there's no single answer to that, it really depends on the application and how important it is for it to not crash.
@adicandra9940 Жыл бұрын
Please do more of this. Your explanation is very intuitive. This is exactly what I'm looking for. Rust for Typescript devs
@ViliamVadocz Жыл бұрын
I recommend configuring your language server (most likely rust-analyzer) to run cargo clippy instead of just cargo check. You'll get a ton of good hints regarding correctness, performance, and best-practices.
@shashydass4114 Жыл бұрын
Fantastic video - great idea to use AOC to show a small concrete example that you solve with a second part that the viewer can solve too. Using Typescript as a reference point of comparison to Rust works really well. Would definitely watch more videos like this.
@fallingseasy Жыл бұрын
Agreed!
@tmangner Жыл бұрын
Yes. I would love to see more of these!
@somerandomchannel382 Жыл бұрын
Is there any video wher you show how to setup rust and make it look that amazing like that?
@Matt23488 Жыл бұрын
I'm also new to Rust and I'm absolutely loving the language. I made it about halfway in Advent of Code before I ran out of time (I got started late). But then I decided to jump into a rather large project with multiple interoperable components and I have learned an absolute ton. Futures with the Tokio runtime, procedural attribute macros, MPSC channels across thread boundaries... It's been a blast learning so much so fast. Rust is quickly becoming a contender for my favorite language.
@adamdrake39 Жыл бұрын
As a casual rust learner with a bit of knowledge, these videos are nice to see because I know enough to follow along without getting lost. Also good to see someone go through the same learning path. Good luck!
@sneakytowelsuit Жыл бұрын
This is exactly what I've been waiting for, been trying to learn Rust and there are definitely some hurdles as a primarily TS and Java dev. Please keep these coming, I'll be watching for sure!
@mluevanos Жыл бұрын
As a TS developer, I like ths format, short and concise.
@MaybeBL1TZ Жыл бұрын
i was trying to learn Rust two months ago and i didn't find any single video that helped me more than this one thank you 🙌
@viridianite Жыл бұрын
Keep these videos coming, Andrew! I haven't touched Rust before so it's interesting to look at someone solving problems in it. I'm still surprised you don't have more subscribers because your videos are top-notch: Straight to the point, packed with information, good explanations, code is the focal point, etc.
@dimitrimitropoulos Жыл бұрын
ABSOLUTELY FANTASTIC of you to start doing this. keep it going!!
@TheEuphoricism Жыл бұрын
I am a typescript guy -- did quite enjoy this, great explanations. Not sure how its 'for typescript developers' -- but it did get you on my feed, and a +1 to the subscriber count!
@cg219 Жыл бұрын
Holy snap Andrew Burgess!! I didn't know you had a KZbin channel. Blast from the past from the Envato days
@otisrancko Жыл бұрын
I liked the explanation of your Rust video. I wish I could get a full tutorial on how to get started with the language. Its a thumbs up!
@webhedz Жыл бұрын
Great video, I'd love to see more of these types of videos. I'm also looking to learn Rust this year.
@keent Жыл бұрын
offtopic but cheezus krist that vim setup is so neat. Been using vscode my whole life and never considered vim as a primary editor. i think i'll try one soon.
@dandcodes Жыл бұрын
You're an excellent teacher, I'd love to see more Rust content on your channel!
@hello-AZIZUR Жыл бұрын
It would be great to have a dedicated playlist of "Rust for TypeScript Developers"
@dvlden Жыл бұрын
Yes please. Keep it up. I like everything related to Rust and TypeScript, so feel free to record any videos on these topics. Good luck! ❤
@EldorJ10 Жыл бұрын
Great video for me as a Dev who uses Typescript and wants to learn Rust.
@marcelarmada-castellon1863 Жыл бұрын
I study currently Rust and your video give a understandable lesson. Thanks man. I wait for more videos. ☺
@g_dfe1 Жыл бұрын
PLEASE keep going with this series!!! x 10000000
@knowledgedose1956 Жыл бұрын
I totally agree
@apidas Жыл бұрын
I'm excited for your rust journey. you're really smart
@ryan_t_brown Жыл бұрын
This is so crazy I just typed in "Rust for Typescript developers" and Andrew has a video posted today.
@introvertsgo Жыл бұрын
Great video. I've been playing about with rust, but didn't grasp some of the concepts you've covered here until watching this. Very useful
@Nonsense116 Жыл бұрын
Great stuff! I spend my work day in typescript and I've been learning rust over the past month or so. I wish a video like this was out there when I started!
@FauzulChowdhury Жыл бұрын
A good start to the channel. I would say since you lured the TypeScript people here you could do a more comprehensive explanation on how typescript would have done it. You did say in few places but also missed one or two. I will be following, and cheering for you. Good Luck
@hansschenker Жыл бұрын
Very good presentation style! I like that you leave your personal camera on (buttom right round). As a watcher you have the feeling that you speak to me (while you just watch into your camera) and that is motivating. Rust is a functional language and strong typing. Syntax feels a bit "rusty"!
@irlshrek Жыл бұрын
love that youre doing this series!! I definitely want more Rust!
@mikeriv9229 Жыл бұрын
usize as a type is more for things like array/vector indices rather than just as a regular numeric type. It's 32 or 64 bits based on the system because that's how long memory addresses would be so it's meant to line up with that.
@andrew-burgess Жыл бұрын
Ah, interesting! So what would you use as a numeric type?
@caerphoto Жыл бұрын
@@andrew-burgess in this example usize fine, tbh. It's only when you need to think about performance, or are dealing with numbers bigger than 2 or 4 billion, or are developing for much more limited hardware (i.e. 16 or 8 bit) that you really need to think about it. And of course if you expect negative numbers, there's always isize.
@mikeriv9229 Жыл бұрын
@@andrew-burgess u32 and i32 are the “default” int types, there's also 8, 16, and 64bit versions for when you need different sizes for optimization or whatever
@DanelonNicolas Жыл бұрын
I love the video format. Also the way you explain things. Will subscribe hoping to see more like this one. Thanks!
@NoName-1337 Жыл бұрын
I like to see more of this kind of rust videos. It's very interesting.
@dubble_cuppachino Жыл бұрын
This is exactly the title I’ve been searching for
@returncode00006 ай бұрын
Could you please do more rust videos? Your rust videos are fantastic, especially the traits explanation 🔥
@chrisjames278 Жыл бұрын
Would be a cool series to explore rust. Something I would follow along with
@csells99 Жыл бұрын
Great explanation. I’ve spent time on my own learning Rust and you filled in a bunch of details. Thanks!
@Muaahaa Жыл бұрын
For your `map` method that parses the str to usize you could use `filter_map` instead of unwrapping and have something like: `filter_map(|row| row.parse().ok())`
@lucasa8710 Жыл бұрын
I loved it, very good content your ability to organize thoughts is amazing
@iSaac-kp5lk11 ай бұрын
I find that copilot really helps when learning a new language... Almost like training wheels...
@fardeenpanjwani-si7yv Жыл бұрын
Amazing video!! Love your neovim setup! Do you have a repo with your neovim/vim co fig?
@andrew-burgess Жыл бұрын
Thanks! It’s pretty close to stock lunarvim. More details at shaky.sh/tools/
@juanditoro8901 Жыл бұрын
Really liked this video! Currently one day in learning rust, pretty excited for the next 😁
@pedro.balbino Жыл бұрын
Great content! To help others following along, please include the keys currently being pressed while using Neovim.
@estranhokonsta Жыл бұрын
That is specific to the editor (there are tons of them) and has little to do with the theme of the video. There are other videos about Neovim out there.
@jgttech Жыл бұрын
I would love more things like this as I do not have a lot of time for Rust, at the moment and I feel like this is done in small enough bits and good enough expansions that I can absorb the information reasonably well.
@josephizang6187 Жыл бұрын
If you will teach rust like this, I am subscribed already. Wonderful explanation man.
@joaquimley Жыл бұрын
Thanks for the video. I really liked your pace and the way you explained. A Small piece of feedback thought, it seems like we can hear some noise whenever you type (beyond the key presses) maybe you have your mic sitting at the table? It is a bit more noticeable with headphones. I'm saying this because I had that issue with the Blue Yeti, moving it to an arm with a shock mount sovled the issue.
@andrew-burgess Жыл бұрын
Thanks for the feedback! I do have the yeti on an arm, but I should try adding the shock mount. Appreciate it!
@SuperQuwertz Жыл бұрын
Please do a series: Rust for Tyepscript devs, where you allow viewers to transfert or at least use as much as possible of their Typescript knowledge to Rust
@SilvestreVivo Жыл бұрын
I loved the content. Please more Rust videos like this!
@diogoanjos3160 Жыл бұрын
Really nice content, Andrew! Can you please also share your editor/IDE configs? I've found those quick suggestions/docs really helpful!
@andrew-burgess Жыл бұрын
That’s part of the lunarvim configs! shaky.sh/tools/ But it should be part of any rust plugin for your editor.
@wiseskeshom4673 Жыл бұрын
Thanks for this great video, I'm learning TypeScript and also Rust is the next in my long list. Please do more video like this.
@loodinek Жыл бұрын
I enjoyed your video a lot. Looking forward to the next one.
@SuperQuwertz Жыл бұрын
This video was so good. Please do more!
@killymxi Жыл бұрын
One unexplained jump was how the `parse` function works. Does it infer the type to parse from context?
@andrew-burgess Жыл бұрын
Great question! I’ve got a video all about this coming out in about an hour!
@LielAlmog Жыл бұрын
Hi guys, What is this IDE it looks awesome. Can you make a video about configuring it like this?
@andrew-burgess Жыл бұрын
It’s neovim with lunarvim configs! Check the description for a link to the setup!
@AmitErandole Жыл бұрын
This is amazing. Please do a series
@ynokenty Жыл бұрын
Really great content here! Been eyeing Rust for a while, guess it's time to start learning it :)
@mumk Жыл бұрын
enjoyed it and subbed. Definitely learned a thing or two from this short video, keem em coming! cheers
@khairulhaaziq2332 Жыл бұрын
What editor are you using? Interested to know how you setup it
@andrew-burgess Жыл бұрын
shaky.sh/tools/
@khairulhaaziq2332 Жыл бұрын
@@andrew-burgess thank you!
@limitlesskode Жыл бұрын
You just intimidated me with your vim motions 😮
@JavierHarford Жыл бұрын
Hello Mr.Burgess, can you share your awesome LSP setup? Wondering if your dotfiles are already out there. Everything looks so stable and my rust config feels a bit janky
@andrew-burgess Жыл бұрын
Yeah, they’re all out there! See the link in the video description.
@MaxProgramming Жыл бұрын
I had been waiting for this!
@Luxcium Жыл бұрын
Some people are wizards… other are just superhero… and then we have people like Andrew Burgess who looks like they are working as a journalist for the Daily Planet.
@Luxcium Жыл бұрын
I am not a TypeScript superhero, just someone who is also kind’a learning Rust!!!
@ndanzzid566 Жыл бұрын
Do I need to read the book first? I'm not comprehending well.
@anandmt7459 Жыл бұрын
Extremely helpful. Thank you.
@orlandofury Жыл бұрын
thanks for the video!!! the format is great
@indylawi5021 Жыл бұрын
thx, great practical intro to Rust.
@NoonKnite Жыл бұрын
thanks for your video. looking forward to more.
@ExpDev69 Жыл бұрын
Rust really is a beauty
@andrefilipefonsecaborba4989 Жыл бұрын
Where I click to set up one thousand of likes?! Amazing video!!!
@itznukeey Жыл бұрын
Wow this language looks so good, I'll have to try this once after exams lol
@eyesight2073 Жыл бұрын
Which editor? Vim?emacs? Looks nice....
@andrew-burgess Жыл бұрын
Neovim! Details here: shaky.sh/tools/
Жыл бұрын
Can you share your vim config, extensions, and terminal?
@andrew-burgess Жыл бұрын
Check out my video from last week, and this: shaky.sh/tools/
@muhrizqiardi Жыл бұрын
Please do more of this!
@LinuxForLife Жыл бұрын
Very interesting. Go on like this! Your little mistakes will feed our knowledge ... 😉😉😉 So nothing is lost for everyone! 😁😁😁
@mayassalman Жыл бұрын
Good work, please keep going 💯
@jeanchindeko5477 Жыл бұрын
Great video to motivate looking at Rust. Thanks
@officemax3977 Жыл бұрын
good stuff, I'm definitely interested! keep going
@SeanLazer Жыл бұрын
This is great stuff, subbed
@matej2714 Жыл бұрын
great great great great great explanation!
@franklemanschik_de Жыл бұрын
Looks great as long as you do not fall into the lisp macro hell and avoid them total your good to go i would advice you to play around with deno and v8 so you can run your rust code in a more modular fashion
@andrew-burgess Жыл бұрын
Wait, I’m not sure I follow. What’s the connection between deno/v8 and rust?
@franklemanschik_de Жыл бұрын
@@andrew-burgess deno is only a Rust Binding and Minimum runtime written in Rust for v8 so you can use IT Like lua to Connect your Rust modules to v8 and use Them with typescript
@diadetediotedio6918 Жыл бұрын
There is no problem with macros in Rust at all, they can make the code writting easy and succint
@nirajkhatiwada6696 Жыл бұрын
Good insight. Thanks.
@Antilli Жыл бұрын
As someone that just started learning Python, with the goal of then trying to learn Rust, this is Chinese to me.
@RyanWaite28 Жыл бұрын
Hi. How was this video recorded? (camera, microphone, etc)
@andrew-burgess Жыл бұрын
iPhone 14 and blue yeti, using QuickTime and OBS.
@RyanWaite28 Жыл бұрын
@@andrew-burgess Thanks! and great video btw! This video quality with just an iPhone?
@enkioki Жыл бұрын
What editor are you using?
@andrew-burgess Жыл бұрын
Neovim! More details at the link in the description.
@ivanhale8114 Жыл бұрын
can you do this for C++
@antonpegov2745 Жыл бұрын
I like it s lot! Super easy to fallow ❤
@shecodes94623 Жыл бұрын
Which code editor are you using?
@andrew-burgess Жыл бұрын
Neovim! More info at the link in the description.
@abishekkumar316 Жыл бұрын
which extension are you using?
@andrew-burgess Жыл бұрын
shaky.sh/tools/
@forinda Жыл бұрын
Which editor are you using
@andrew-burgess Жыл бұрын
Neovim. Link in the description for the details.
@souravdhar47 Жыл бұрын
I absolutely love this type of content
@Phildiculous Жыл бұрын
good explanation!
@Metruzanca Жыл бұрын
How, the fuck is your (presumably living room) looking so cozy.
@idiakosesunday3806 Жыл бұрын
Defo want more
@dolevgo8535 Жыл бұрын
this is great, please keep this up!
@Anastasia-cv4ld Жыл бұрын
What theme is this?
@andrew-burgess Жыл бұрын
Tokyo Night!
@jvcmarc Жыл бұрын
What editor is that? is that helix?
@andrew-burgess Жыл бұрын
Neovim with the lunarvim configs. See the link in the video description for more details.