not gonna get me thanking, I was looking for this type of video, but youtube suggests game videos to me. I like, never watch game videos, barely play any games too, not that I think it's bad if you do, it's just that games make me anxious beyond belief, like "why am I playing this game, with my limited time on this earth, I should be doing something useful, I might as well apply for my old job at sbb if I want to spend my life this unproductive", so I can't. I even feel anxious wasting time typing this comment, goodbye
@@mimosveta It's healthy to have a break from time to time. Also We are just humans: There is nothing wrong in "wasting" time sometimes. The thing is We should keep on comming back to doing stuff after the breaks. - Do good stuff DX
Thank you Ryan! Putting together a program, even a simple one, touches so many different topics and gives the opportunity to have a taste of how to tackle problems.
I have not listened anything yet...but I have been watching Microsoft Flight Simulator series and you are great there. I bet this will make the list of the top Rust video for Beginner. I am going to enjoy now.
This video is by far the best intro I've found in several weeks looking. At 150% speed, this is a great, well-paced overview for professional programmers with some fp background.
This was...EXTREMELY well done! Thanks for putting this together Ryan! For a complete Rust beginner, this was a really useful resource. Looking forward to Part 2.
I appriciate the depth you go into on each symbol, and the inner workings of the language. A lot of people mention parts but exclude enough to keep you confused.
I thought your explanation in the last quarter of this video was excellent, it's the best explanation I've come across for borrowing, ownership and references in Rust. Sorry to see that you're not producing videos any more (from what I can see anyway)
Thank you, this is the best rust tutorial on youtube! Finally somebody that explains the language features rather then how to do a if, for loop or any other boring stuff that can be learned in like few minutes.
Very nice tutorial. Looking forward to part 2. If you don't mind me giving you a tip, then I would love if you changed to a dark mouse pointer in Windows. This will give it a white border and make it a million times easier to see while you're pointing at things in VS Code. :) Recording and uploading in at least 1080p would also help quite a bit to make it less blurry.
Yes Thanks Ryan! This was timely man! I've been worrying and asking everywhere does this 'match' expression in Rust mean like umm 'Switch' statement in my other languages - C#, Java. Thank you very much and I've just subscribed to your channel! You and Bogdan from Let's get Rusty are my two favourites on Rust! 😀
This is an incredible introduction with many details that really brings it to the point. Loved every second and hope to soon find the time + project to get my hands dirty with Rust myself. Awesome work! Thank you, Ryan.
May be nearly two years late to this video but I am really enjoying it and you help me understand what I'm writing very well. I appreciate you for making these videos and you've most certainly gained a sub from me
Wow, you have some patience. Just wish some of the viewers had the same patience. They slowed it down a lot. It's OK to ask questions but please ask good questions.
Hi Ryan, Great presentation! It was very easy to understand and follow. I am looking forward to watching part two. I am interested in Rust because of it's focus on safety without compromising performance (no garbage collector). Thanks,
Hey Ryan, just wanted to say I really enjoyed this. I'm on break from University at the moment and plan to deep dive in on Rust during my time off. This was a very good introduction and it would be great if you continued the series!
Have you considered doing a series for Rust as a *first* language? An entire generation of programmers learned C as their first programming language. I would *LOVE* to see a series of Rust classes for absolute beginners to programming. After all, it's somewhat ridiculous to demand that all newbies learn an entire different language to start, throw it away, THEN learn Rust. If Rust is where they'll be, then we should stop taking shortcuts with training and do Rust training right: from fundamentals to the top level. Thanks for listening.
A little slow for someone not *totally* new to Rust, but I enjoyed it. One thing I learned is that semicolon is a statement *separator*, not a terminator. For example, I had an extra semicolon at the end of a function, and that changed its return type to unit () (empty tuple). Deleting the extra semicolon fixed the function, to return the value from the expression before the semicolon.
It would be really nice if the videos could be higher resolution and less blurry. It is not very nice looking at it for hours but the content is so good!!
28:42 why is arugments being named as mutable? It's not changing any data, it's just holding it. Copying data should not require the data to be mutable, that makes no sense. There should not be a requirement for anything being mutable here, until there's an assignment after the initialization... Never mind, now I understand. It's because of the keyword next. I suppose it's a pop type of thing, rather than moving a pointer. I'll leave comment here in case somebody else is confused.
Thanks a lot! Even the first 20 minutes are interesting. Not yet sure how to build or run release in VS Code, but I've already found a tip with cargo build --release, cargo run --release useful. The program that reads 80MB of data in tiles and combines them into 8400x4800 array is significantly faster. I'm trying to rewrite one project from Julia. Julia did this in maybe two seconds or 0.6s in parallel version (which is weird considering I/O, but data are likely cached). In Rust it took like 15s and out of sudden it's instant in the release so I don't need to bother with writing parallel code. And Julia is interesting, it's super-fast, but an immature Python alternative with quite good profiling and benchmarking. But I don't need 200 times faster Python as much as I need C++ alternative for programs that are quite simple, should be fast and have several external dependencies. These are a major pain. Ten years ago I learned Java for this reason.
Ok after 16 hours from zero knowledge, I rewrote 400 lines of code rendering Voxel terrain (distance map) from the height map. To my surprise, loading of data from disc is 0.12s vs 0.25s but without clamping data that make no sense and that are rare. Rendering is 2.4s vs 3.2s. So Rust wins over Julia, but not by much. Except when I write @Threads.thread before for loop in Julia. It's quite surprising that speed is comparable, despite Julia has some extra checks in type conversions.
I am a true Rust beginner. Last programmed for a company in the age of IBM compiled BASIC and Turbo Pascal. You immediately punched me out of the ring with the whole arguments options thing. ...for true beginners? ...not this one. Back to the Rust book for me.
Sorry that the video wasn't right for you. By "beginners" what I had in mind was people who program regularly but are complete beginners *to Rust* but are still comfortable with programming in general. If your last programming experience was from the 80s, then I agree this video might be too advanced. Words are hard, and I'm sorry that my description was ambiguous. I wish you success though, and I hope my videos can be a resource at some point in your Rust learning journey!
Thanks, great intro. Personally I’d rather see the “if let …” syntax instead of unwrap() along with expect(). As new comer to Rust to many tutorials bail out and use unwrap() and I had no idea what it is doing. You end up having to explain Result and Option enums, so to me unwrap is unfortunate in tutorials. I understand and appreciate it in the language. PS: aren’t macros Rust code anyways so format! ultimately is Rust code, it is just a compile time action instead of runtime which is an awesome feature. Maybe I have that wrong.
1:16:30 actually it wouldn't just be a warning, as then `contents` would be of type `Result`, so if other parts of your code are expecting it to be a String then you'll get some errors.
Hello, i really appreciate your excellent work explaining rust. I think it is great language, knowing the basics is a feasible task but what are your advices to work professionally with the language. Some project examples are welcome. At moment I know python, a little bit of c and kotlin. Keep the good work :)
Dipping my toes into Rust here......it looks like we're creating a database AND loading key/value into it. Wouldn't we want one program to create a database and a separate program to load new keys/values into it?