An Introduction to Coding In Rust for Pythonistas

Sdílet
Vložit
  • čas přidán 22. 07. 2024
  • In this video, I'll explore coding with Rust for the first time, diving into its cool features and drawing comparisons with Python.
    👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis
    😺 Git repository: git.arjan.codes/2023/rust
    💻 ArjanCodes Blog: www.arjancodes.com/blog
    ✍🏻 Take a quiz on this topic: www.learntail.com/quiz/kmxktf
    Try Learntail for FREE ➡️ www.learntail.com/
    🎓 Courses:
    The Software Designer Mindset: www.arjancodes.com/mindset
    The Software Architect Mindset: Pre-register now! www.arjancodes.com/architect
    Next Level Python: Become a Python Expert: www.arjancodes.com/next-level...
    The 30-Day Design Challenge: www.arjancodes.com/30ddc
    🛒 GEAR & RECOMMENDED BOOKS: kit.co/arjancodes.
    👍 If you enjoyed this content, give this video a like. If you want to watch more of my upcoming videos, consider subscribing to my channel!
    Social channels:
    💬 Discord: discord.arjan.codes
    🐦Twitter: / arjancodes
    🌍LinkedIn: / arjancodes
    🕵Facebook: / arjancodes
    📱Instagram: / arjancodes
    ♪ Tiktok: / arjancodes
    👀 Code reviewers:
    - Yoriz
    - Ryan Laursen
    - Dale Hagglund
    🎥 Video edited by Mark Bacskai: / bacskaimark
    ✍🏻 Code Examples & Scripting: Alyce Osbourne
    🔖 Chapters:
    0:00 Intro
    1:12 Hello world
    3:32 Macros
    4:27 Overview of key differences
    8:25 Python classes vs Rust struct
    15:59 Differences between an ABC and a trait
    18:29 Macros in Rust
    19:26 Final thoughts
    #arjancodes #softwaredesign #python
    DISCLAIMER - The links in this description might be affiliate links. If you purchase a product or service through one of those links, I may receive a small commission. There is no additional charge to you. Thanks for supporting my channel so I can continue to provide you with free content each week!

Komentáře • 298

  • @ArjanCodes
    @ArjanCodes  Před 6 měsíci +3

    👷 Join the FREE Code Diagnosis Workshop to help you review code more effectively using my 3-Factor Diagnosis Framework: www.arjancodes.com/diagnosis

  • @mrrobotman5299
    @mrrobotman5299 Před 6 měsíci +166

    Not sure if you're going to get to it but I wanted to comment as I saw this. Cargo (built into rust) is more useful for building and running. Instead of `rustc user.rs` and `./user` you can just `cargo run` and it runs the main binary of your package.

    • @fojico1234
      @fojico1234 Před 6 měsíci +29

      It’s nice to see the compiler specially for beginners, magic can be confusing

    • @ozanmuyes
      @ozanmuyes Před 6 měsíci +13

      Well even the book doesn’t concern itself with 'rustc', so IMHO it's safe to say that use cargo to build and run - even for newcomers

    • @MikeM8891
      @MikeM8891 Před 6 měsíci +1

      Not only compiling, but testing and documentation are easy with cargo.

    • @whoman0385
      @whoman0385 Před 24 dny

      ​@@ozanmuyeseveryone should use cargo

  • @_DRMR_
    @_DRMR_ Před 6 měsíci +106

    It would be cool to see how we can create rust bindings to python and use rust functions in our python programs. Really get that "best of both worlds" started!

    • @caseykorver5729
      @caseykorver5729 Před 6 měsíci +13

      You actually can! See the Py03 project for details.

    • @_DRMR_
      @_DRMR_ Před 5 měsíci +1

      @@caseykorver5729 I didn't say you couldn't, I'm asking for some tutorial content on _how_ to do this.
      Thank you for the reference. PyO3 (that's an `O` not a `0`) seems like a nice resource for this :)

  • @drz1
    @drz1 Před 6 měsíci +106

    Yes more Rust please. But also continue with Python. The two together are a dream team.

  • @NoelTanner
    @NoelTanner Před 6 měsíci +74

    More rust content please! I'm rewriting nearly all my python code in Rust. There is a extensive amount of CS concepts that I have to learn along the way. But in the process of being a better rust developer, I'm becoming a better developer overall!

    • @learning_rust
      @learning_rust Před 6 měsíci +1

      Rust makes you understand the stack and the heap, and pass by value v pass by reference, traits confused the hell out of me at first though! : )

    • @snippletrap
      @snippletrap Před 6 měsíci +2

      You should jump into C before Rust IMO

    • @python360
      @python360 Před 6 měsíci

      @@snippletrap 100% agree, despite being a big Rust fan.

  • @TVDaJa
    @TVDaJa Před 6 měsíci +25

    More of this! I loved your python Videos. They helped me so much to build a strong foundation. Since then I have taken a more „rusty“ path and would really love for you to make more videos in that area

  • @williamdroz6890
    @williamdroz6890 Před 6 měsíci +67

    With PyO3 and Maturin, you can seamlessly expose your rust code as python modules. Very useful when you have an existing python codebase, so you can rewrite the slow modules without modifying how they are used.

    • @ytfeelslikenorthkorea
      @ytfeelslikenorthkorea Před 6 měsíci +3

      tempted to rewrite my code to delegate all for loops to Rust module :D

    • @maleldil1
      @maleldil1 Před 6 měsíci +14

      ​@@ytfeelslikenorthkoreamake sure you have proper benchmarks in place. Rust is faster, but the foreign function interface (FFI) isn't free. Depending on your problem and data size, you might spend more time converting back and forth from Rust to Python that you're better off with pure Python. As with everything related to performance, always measure.

    • @mNikke
      @mNikke Před 6 měsíci +3

      Ive been looking into Rust, but a lot of stuff for "speed" have been written in C++. I dont quite understand yet, why I should learn Rust over C++ ?

    • @etc1702
      @etc1702 Před 6 měsíci +4

      ​@mNikke It is usually a lot more safe, there is a lot less chance of getting issues like segmentation faults, memory leaks, etc.

    • @isodoubIet
      @isodoubIet Před 6 měsíci +3

      @@mNikke C++ is much better for this. It's a more flexible language and the safety stuff typically won't buy you anything because the kinds of code you'll be writing will be by its nature restricted in scope. It's also much easier to write for performance, which is typically why you'd want to do this in the first place (think gpu, simd, etc), and the ecosystem is much, much richer.

  • @austinraney
    @austinraney Před 6 měsíci +11

    I really wished you would have mentioned rust up for installing and managing your rust versions and also cargo. The tooling around rust is a major reason why I and so many others are drawn to the ecosystem! Great to see this though! Keep it up

  • @robbybobbyhobbies
    @robbybobbyhobbies Před 6 měsíci +33

    Very timely for me. Just switched my learning effort from Python to Rust. Borrowing and lifetimes are doing my head in so any content focused on those gnarly aspects would be much appreciated.

    • @mr.bulldops7692
      @mr.bulldops7692 Před 6 měsíci +2

      Those are the two hardest concepts for fledgling Rustaceans. Build a project with Rust, and it will be second nature by the end.

    • @robbybobbyhobbies
      @robbybobbyhobbies Před 6 měsíci

      @@mr.bulldops7692 Thanks for the encouragement. I'm in the middle of a project right now and it's gradually clicking, but it's always good to get plenty of perspectives to make sure you're not missing something. I've been swearing at integers today, finding arithmetic between usize and isize unnecessarily annoying :). Got there at 4:59pm, thank goodness.

    • @TheStickofWar
      @TheStickofWar Před 6 měsíci +1

      What part specifically is doing your head in?

    • @robbybobbyhobbies
      @robbybobbyhobbies Před 6 měsíci +1

      @@TheStickofWar it would take too long to describe, but lifetimes are not intuitive to me. I use the Rust reddit, I've got The Book (plus the O'Reilly one) and I'm getting there. But there's definitely a steeper learning curve for this than Python (or Elixir, the language I've made a living from most recently).

    • @JeremyHaak
      @JeremyHaak Před 6 měsíci +2

      @@robbybobbyhobbies I think one key thing that is important when developing in Rust is having a clear data model. I found that I never really had to think about that in Python while moving over to Rust required that I always think about ownership when planning how I approach a problem. It becomes more intuitive with time.

  • @astronemir
    @astronemir Před 6 měsíci +3

    Arjan, this content is extremely valuable and rare. There are millions of programmers who mainly or only know python (say they came from data/sciences etc.) You’ve taught them python and now you can introduce languages from a “pythonista’s” PoV.
    Which unlocks a whole new ecosystem for your viewers. Usually these language guides aren’t written for python users so it is double valuable.

  • @alijoumma
    @alijoumma Před 6 měsíci +9

    please make a series on how to do things in Rust for Python programmers, covering things like logging, error handling, async await, context managers etc...
    there are a lot of youtubers that are specialized in Rust, but very a few specifically target Python programmers who are interested in rust, and there are many, and since your channel kinda does, it will be a perfect opportunity to capture new audience and\or bring back people who already "mastered" Python

    • @thomaseb97
      @thomaseb97 Před 6 měsíci

      logging is not native to rust, you have to get dependencies via cargo preferably, the "log" crate is very common as an abstraction facade however it doesnt provide any logging, you have to get a logging framework for that, which there are many links in the log crate's docs to find
      error handling is a complicated subject, but do know you dont have to always match everytime there is plenty methods on Result and Option types and there is a ? operator
      async is very difficult in rust and most use the tokio crate to help
      context managers doesnt exist as thet are redundant due to the ownership system, a "context manager" would just implement the Drop trait, if it absolutely needs to

    • @thegoldenatlas753
      @thegoldenatlas753 Před 6 měsíci

      ​@@thomaseb97 async isn't any more difficult in rust than it is in js or C langs

  • @Golgafrincham
    @Golgafrincham Před 6 měsíci +8

    Very nice timing! I started reading up on Rust during the Christmas break and I kind of like it. Used to do some coding in C, so quite familiar with some of the differences to Python. Would be awesome if you would cover more rust, especially bridging Python and Rust.

  • @programming8339
    @programming8339 Před 6 měsíci

    Great video, Arjan and happy to see you deep dive into the Rust ecosystem! Your way of explanation is amazing! I have been following you almost since inception of your channel and it has been great way to learn stuff from an experienced software engineer like you. Recently started learning Rust and was thinking: "Hey only if there is a channel like Arjan's that can teach Rust the same as he does Python...". I think the community here would love to see way more Rust related videos (and why not a whole course on your website) in 2024 dissected and explained in your way. Thank you for all you do man, appreciate it!

  • @samarbid4912
    @samarbid4912 Před 6 měsíci +5

    I would love to see examples how to use Rust along with Python on some computation expensive operations...

  • @bradhuf
    @bradhuf Před 6 měsíci

    So glad you’re covering rust now too! Your teaching, examples, videography are always so good

  • @solojazz75
    @solojazz75 Před 6 měsíci +2

    we are waiting for "Go for pythonistas " now.

  • @isaacchen3857
    @isaacchen3857 Před 6 měsíci +2

    Would LOVE to see more Rust content on this channel in the future... it's my favorite language!

  • @79SagiTaurus
    @79SagiTaurus Před 6 měsíci +3

    @ArjanCodes Please do more RUST videos! Thanks!

  • @alejandroenriquez8508
    @alejandroenriquez8508 Před 6 měsíci +4

    Right time!!! Wow, I am a python developer, use Python every single day but now learning Rust!! Thank you!!!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm happy this video came out at a good time for you!

  • @ayder
    @ayder Před 6 měsíci +2

    I like that you are covering rust. Please continue to work on this with your expertise

  • @thisoldproperty
    @thisoldproperty Před 6 měsíci +6

    This was a great intro to rust. Appreciated the comparison against Python.
    Really like how compiling shows 'dead code' as this is a feature missing in (native) Python.
    Looking forward to many more rust videos!
    Any chance you can demonstrate executing rust from python?

  • @dawid_dahl
    @dawid_dahl Před 6 měsíci +1

    I’m a JS/TS dev but I love this channel and this video was certainly no exception! Can you do one more where you go through borrowing and so on as well?

  • @balduinlandolt2554
    @balduinlandolt2554 Před 6 měsíci +1

    Finally a video that's not Python! And very good too, thanks! :)
    I would definitely watch your Haskell video, if you did any.
    For future Rust videos, I would recommend using some more tooling (rust-analyzer in VSCode so you don't need to compile to see compiler errors; cargo for running the application so you don't need to compile manually). And it would be worth mentioning how much more streamlined the tooling around Rust is, compared to the Python ecosystem.
    Some more topics that would be great to cover are algebraic data types (with real, useful Enums), and the borrow checker (which might give Python programmers a headache or two). Hope to see more of that kind of content!

  • @janiscakstins2846
    @janiscakstins2846 Před 6 měsíci +5

    Greeat video.
    Would be great if you could make a video of implementing a Rust binding for Python. This would show a practical example of creating highly performant python module.
    Also would be great to see a video on rules of thumb when you would chose rust over python (and in which instances rust would not bring many benefits e.g. i/o being bottlenecks)

  • @Whatthetrash
    @Whatthetrash Před 6 měsíci +5

    I coded in nothing but Rust for a few months -- gave it a solid try. While I think it's cool, Rust is a large, complex language and trying to solve problems in it I found untenable. As such, I don't find the language good to *play* in (problem solve, iterate, etc.). However, if the problem is already solved and performance needs to be improved, writing a version in Rust could be a valid way to get that performance boost needed (that or C++, either is fine).

    • @thegoldenatlas753
      @thegoldenatlas753 Před 6 měsíci

      Rust is very structured so you have to know what exactly you want when you start off.
      You can definitely play around in rust but doing so quickly without planning ahead will just leave you frustrated and refactoring alot, but that's an issue with most lower level langs.

  • @dschenck
    @dschenck Před 6 měsíci +6

    Great content! Would love to see more how rust and python can integrate with each other!

  • @Zonkin
    @Zonkin Před 6 měsíci

    Nice one Arjan, this video explained more of Rust than most of the 1hr tutorials Ive watched on youtube so far. I think a lot of experienced Pythonistas are now looking to Rust for an entry into «somewhat low level programming».

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm happy you enjoyed the video!

  • @Murder-Junkie_
    @Murder-Junkie_ Před 6 měsíci +3

    Great timing with this video! I am currently looking into learning Rust as my second language!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci +1

      I'm glad to hear that this video was helpful then!

  • @lysacreationschavula8605
    @lysacreationschavula8605 Před 6 měsíci +3

    I would surely love you doing more in future

  • @_baco
    @_baco Před 6 měsíci

    I loved the video!!! I've been learning Rust for 2023's Advent of Code (as an excuse to learn the language) and loved the first steps in the language.
    It was really easy, for me, to understand now Rust's traits, being compared to Protocol/ABC classes in Python. You've chosen a good analogy there, thanks!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm glad you're enjoying the content!

  • @papunmohanty5968
    @papunmohanty5968 Před 6 měsíci

    Please please do more Rust videos 🙏🏼
    Like the way you explain stuffs. Some concepts are still cryptic but the way you put those makes me dig deeper by my self.

  • @UNgineering
    @UNgineering Před 6 měsíci +5

    parts of pydantic are written in rust i think, so this is an excellent segue to rust

    • @aldrickdev
      @aldrickdev Před 6 měsíci +2

      The core of pydantic was rewritten in rust, now it’s pydantic v2

  • @fabricehategekimana5350
    @fabricehategekimana5350 Před 6 měsíci +7

    Wow Ia want more videos about rust and I like the comparisons made with python (I haven't seen a channel doing this kind of comparisons).
    Before the version 1.0 Rust implemented classes but switched to another model: Algebraic data types. Rust can still do some mainstream OOP but can't implement inheritance (since composition is prefered in more cases).
    Python FP is more of an afterthought so it's not as elegant as Rust but his OOP is more convenient for inheritance

  • @WebmediArt
    @WebmediArt Před 6 měsíci +1

    I have limited experience in python but feel comfortable with it. I did read up on rust myself a bit and am exited to learn/try it. So I am very interested in the synergies and potential symphonies one might be able to compose with these two.

  • @smoked-old-fashioned-hh7lo
    @smoked-old-fashioned-hh7lo Před 6 měsíci

    i love rust. we use it at work for some of our backend services with axum. glad to see it getting more coverage.

  • @twentytwentyeight
    @twentytwentyeight Před 6 měsíci +5

    Now this is what I expect from Arjan ❤❤❤ quality as always, unique and thoughtful. Thanks as always

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci +1

      Thank you for the kind comment!

    • @twentytwentyeight
      @twentytwentyeight Před 6 měsíci

      @@ArjanCodes No, no! Thank you! Longtime watcher and student of yours ❤️

  • @agustinflames
    @agustinflames Před 6 měsíci

    ML researcher here so most of the time I'm working on python. Having previous experience with C++/C# I had never got to like dynamic typing, but now that HuggingFace has built the Candle framework for Rust, I would really enjoy giving it a try. Pls do more rust :)
    Thanks for the great content Arjan !

  • @horoshuhin
    @horoshuhin Před 6 měsíci +2

    `cargo run` for compiling and running in one step. if you use cargo that is.

  • @markcampanelli
    @markcampanelli Před 6 měsíci

    So, SO great that you are taking a look at Rust! Many thanks 😊.

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm happy you enjoyed the video!

  • @mirandaenergypark5271
    @mirandaenergypark5271 Před 6 měsíci

    Great intro for Rust - thank you! Also the first tutorial I've seen that compares Rust to Python, so interesting... If you are of a mind to do more on Rust, my vote goes with embedded devices and integration with AWS.

  • @fuuman5
    @fuuman5 Před 6 měsíci

    I am using Python for nearly a decade now and try to wrap my head around Rust at the moment. So it's perfect to see someone explaining Rust with the Python perspective in mind. Love it!
    Btw: I subscribed to you when you had 1k subsribers and was one of the first 50 users on discord. Insane growing in that short amount of time 😂 Good job - well deserved!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm glad the videos have been helpful! Thank you for your continued support :)

  • @whkoh7619
    @whkoh7619 Před 6 měsíci

    The rust compiler is amazing and helps you avoid errors so nicely.
    The JetBrains Rust IDE has a great feature to run the program with Command R which makes it very fast to test the program.

  • @FloOwey
    @FloOwey Před 6 měsíci

    The timing of this is insane. Just started to get my toes wet with Rust and Tauri a few days ago!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci +1

      I'm glad to hear! Hope the video was useful :)

  • @RobRitchie-bs1ql
    @RobRitchie-bs1ql Před 6 měsíci +4

    That was a nice overview - I'd encourage you to do more head to head comparisons in this style. You certainly did not appear to be out of your comfort zone here.

  • @ksrsundar
    @ksrsundar Před 4 měsíci

    Please do post more videos on rust! Enjoyed watching this one

  • @zactron1997
    @zactron1997 Před 6 měsíci

    Definitely demonstrate how to combine Python and Rust (especially using Cargo). I helped a friend migrate his PhD simulation out of Python and into Rust, and using PyO3 meant he could migrate it one function at a time, rather than a complete rewrite from scratch.
    In general, I think Rust is the future of complex programming. You have complete control and oversight over what happens in Rust, at the cost of some complexity. Python, JS, etc. shine when the problems can be solved by composing complex functions in a simple way.

  • @snowdroog1
    @snowdroog1 Před 6 měsíci

    You should definitely make Rust of Pythonistas a regular topic.

  • @dmitryutkin9864
    @dmitryutkin9864 Před 6 měsíci +3

    Great! More please!

  • @AbdolaMike
    @AbdolaMike Před 6 měsíci

    I'd love to see more Rust as well been trying to improve in it and learn its functional style!

  • @samuelkellerhals5942
    @samuelkellerhals5942 Před 4 měsíci

    Agree that this is a super nice avenue to explore. I use Python everyday and have learned lots from your videos. Starting to get interested in Rust though and having it explained from a Python point of view is very helpful!

  • @matthiasmython9638
    @matthiasmython9638 Před 6 měsíci +1

    Awesome. Love it. Exactly what I was looking for and that's from you

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      Glad you enjoyed the content, Matthias!

  • @br3adina7or
    @br3adina7or Před 6 měsíci +3

    I use Rust and not Python so I can't really say what language features should've been mentioned for an audience of Python devs, but the one thing I'll mention is that I'd recommend managing your Rust version with rustup (rather than via a package manager) and using Cargo to build your code instead of compiling directly. One of the great things about Rust is Cargo, though I understand why it might not be mentioned in a video more focused on language features.

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 Před 5 měsíci

      I thought it was ok initially but then if he does a follow-up he should do as you suggest before progressing further.😊

  • @dinoscheidt
    @dinoscheidt Před 6 měsíci

    Hu. I have the same lamp - made me notice that I like this camera framing. Production value is definitely increasing !

  • @TreyWitteried
    @TreyWitteried Před 6 měsíci

    Brilliantly clean and concise intro to a deep language.

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      Glad you enjoyed the content, Trey!

  • @rw-xf4cb
    @rw-xf4cb Před 6 měsíci +1

    Managed to dodge DotNet and Java, C++, C# or Golang, now Rust and probably Zig if I procrastinate more will miss these too!

  • @falsedragon33
    @falsedragon33 Před 6 měsíci +1

    I already had to switch from C to C++, and that brief phase of C#, we don't speak of. Then, I had to spend a week learning Python, and it was worth it because I could always use C helper files. This seems like deja vu to an old guy like me. I mostly code in bare-bone hardware, so I'll just stick to C and assembly.

  • @markpaterson2260
    @markpaterson2260 Před 6 měsíci

    started learning rust with AoC this year. Interesting timing for me haha. I'd be down with more Rust basics.

  • @kevincodes674
    @kevincodes674 Před 6 měsíci

    I am interested in Rust content. I will be building a web application in Rust for a university project soon, so additional learning content is great

  • @codingcrashkurse6429
    @codingcrashkurse6429 Před 6 měsíci +5

    Interesting you also tried Rust - also thought for quite a while to finally really get into it. My issue currently is that I don´t really know what to build that is also somewhat interesting. I´ve seen that Pydantic uses Rust for it´s core package. Would love to see a little project on Rust for Python Programmers, maybe even something that uses both Rust and Python

    • @kevinmcfarlane2752
      @kevinmcfarlane2752 Před 5 měsíci

      A good way to learn is to take something you’ve written in Python and then rewrite it in Rust. You will learn something along the way. That’s what I did with a C# program.

  • @derekdevs
    @derekdevs Před 6 měsíci

    What kind of keyboard / switches do you have? Sounds so satisfying!!

  • @klmcwhirter
    @klmcwhirter Před 5 měsíci

    The key feature of rust is the "borrow" concept. Other than that it is mostly like languages that came before it - like C or modula, or ocaml.
    I'm still not convinced one way or the other after my initial look at rust years ago.
    Can't wait to see your treatment.

  • @alinmorosanu571
    @alinmorosanu571 Před 6 měsíci +3

    Hi Arjan, absolutely loved your introduction in Rust for Pythonistas video. Really enjoying the Python-Rust perspective. More of this would be fab. Keep it coming!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm happy to hear you enjoyed the content, Alin!

  • @michaelmueller9635
    @michaelmueller9635 Před 6 měsíci

    2023 was wild ...first you were skeptical about ai, now you are going for Rust ❤

  • @AndreasHejndorf
    @AndreasHejndorf Před 6 měsíci +2

    Really nice video. Would be great to hear your thoughts on Rust vs GO. In my team we have been using Python for a while, and recently started using Golang for applications that need to be high performant. I found GO to be easier to get started with, also for new team members. Love your content, keep up the amazing work!

  • @romeorichardson3138
    @romeorichardson3138 Před 6 měsíci

    Awesome video, would love to see you cover more Rust!

  • @davidwalschots
    @davidwalschots Před 6 měsíci

    Two quick notes:
    1. Within the impl block you can use `Self` to refer to the type. Thus `fn new(name: &str) -> Self { Self { name ... } }`. Might save some keystrokes and reduces the amount of diffs when renaming a type.
    2. `User::new` accepts a `&str` and always converts this into an owned `String`. From the perspective of memory allocation it's recommended to in this case change the `&str` to `String`. That way the caller can decide whether or not to pass an already owned string or create a copy. If the caller has no need for the `String` after calling `User::new`, then you save a copy operation. Be sure to look at the documentation for the `Cow` type for another (less commonly used but sometimes useful) option which is useful in certain cases.

  • @anandptyagi5275
    @anandptyagi5275 Před 6 měsíci

    Thank you very much, I wanted you to explain either GoLang or Rust. However I am learning GoLang now, but I will start Rust too.

  • @pixelshocker7775
    @pixelshocker7775 Před 6 měsíci

    I've got some dream projects that I'd like to make, and Rust is my first choice of language for now. Still, I'm going to need some additional scripting. You mentioned Rust bindings in Python--well, I'm considering Python bindings in Rust! Anyway, I'm a long time viewer of your channel and would love to see more on Rust and how it relates to Python!

  • @KrishnaAddepalli
    @KrishnaAddepalli Před 6 měsíci +1

    Yes! Please make more videos on Rust.

  • @SuperHardik12345
    @SuperHardik12345 Před 6 měsíci

    Really appriciate. Thank you for starting contents on Rust. Hope that I can see more videos on Rust in future.

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci +1

      Glad you enjoyed this type of content!

  • @python_byte
    @python_byte Před 6 měsíci

    You guessed what I wanted, which is get into Rust, but with the perspective from a Python background

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      Great minds think alike! Hope the video helped.

  • @demolazer
    @demolazer Před 6 měsíci

    Great video idea. As someone who's only really done Python so far, the more complex languages can be rather intimidating. I've delved into C a little and I'm actually finding this rust example a lot harder to understand than simple pointers and references. Can see why it's known to be so hard.

    • @thegoldenatlas753
      @thegoldenatlas753 Před 6 měsíci

      The great thing about Rust is the compiler helps you.
      Hell you can write python in it and the compiler will tell you things to change to make it rust, such as the difference between how you make functions.

  • @rnrbarbosa
    @rnrbarbosa Před 6 měsíci +1

    Hi Arjan. If you would go further in Python to achieve speed you would in C…but who does that. But with Rust it changes all. Polars/Ruff and lot of other frameworks are being done in Rust. If you do Rust videos in the context of Python enhancement I am totally down for it. Happy new year.

  • @wadejohnson4542
    @wadejohnson4542 Před 6 měsíci +1

    Very astute observation, my friend. And so very timely. Some of the new AI frameworks that I am starting to use are built in Rust. I really enjoyed this video. Looking forward to more Rust content from you in 2024. Keep up the excellent work. Stay well.

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      Thank you for the kind comment, Wade!

  • @PetrSzturc
    @PetrSzturc Před 6 měsíci

    Really great inteoduction.

  • @deeplazydev
    @deeplazydev Před 6 měsíci

    I loved this video, the comparison is great and helped me, thanks! The first time I heard about marcos in Rust was a disgusting idea, as a c++ dev macros are limited to some specific situations and avoided when possible. I need to take Rust with new mindset.

  • @pietraderdetective8953
    @pietraderdetective8953 Před 6 měsíci

    Great video on Rust!
    I enjoyed every moment of it! Currently I'm learning Rust and yeah I can see why all the hype around it.
    A bit too much boilerplate though for my liking...though not as bad as Java.
    Can you please do a similar video on Zig? I actually prefer Zig than Rust coz it's closer to C syntax (~ simpler, less boilerplates).
    I'm really loving these kind of videos ❤

  • @freecourseplatformenglish2829

    Keep it coming bro. Create Indepth Rust tutorial for python developer.

  • @Mister.BreadBoard
    @Mister.BreadBoard Před 6 měsíci

    Thank you amazing introduction ❤

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci +1

      You’re welcome, happy you liked it!

  • @Beat0X
    @Beat0X Před 6 měsíci +2

    Surprised not to see the parallel between protocols and traits rather than ABCs. The analogy seems much closer to protocols even if protocols too support inheritance as opposed to traits.

  • @andyb2339
    @andyb2339 Před 6 měsíci

    Anyone know what shell autocomplete he is using?

  • @ronny584
    @ronny584 Před 6 měsíci +1

    I would love to see something like this for Golang as well.

  • @BillTubbs
    @BillTubbs Před 5 měsíci

    Would be interested to see your review of Nim as an alternative for complementing Python.

  • @dmytr0x
    @dmytr0x Před 6 měsíci

    Thank you for the video. I believe in the Rust's bright future. I had an excellent Rust experience in production. It's nothing crazy, just excellent CPU utilisation. Rust could be much more valuable to a developer than most think. I would be glad to see your thoughts and point of view on how to cook it.

  • @SP-db6sh
    @SP-db6sh Před 6 měsíci

    Create a dedicated playlist on it.We support you 🎉🎉🎉🎉, like as always ❤❤❤❤❤

  • @systemkwiat
    @systemkwiat Před 6 měsíci

    I'm not going to go deep with Rust in the near future, but I really enjoyed that video. :) Thumbs up!

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      Glad to hear you enjoyed the video!

  • @abcwarbot
    @abcwarbot Před 4 měsíci

    would be nice to have a video integrating NIM with python with some networking examples

  • @illiasukonnik9966
    @illiasukonnik9966 Před 6 měsíci

    Great thanks for an intro

  • @haristan1960
    @haristan1960 Před 6 měsíci

    Thank you for the rust tutorial! Can you cover wasm with rust?

  • @daze8410
    @daze8410 Před 6 měsíci

    As someone that feels comfortable with Python but wants to take on a low-level language like Rust, I was looking for this exact video

    • @ArjanCodes
      @ArjanCodes  Před 6 měsíci

      I'm happy the video has been useful for you!

  • @ssrello
    @ssrello Před 6 měsíci

    I hope this becomes a series of RUST videos🤞

  • @liammcintyre9180
    @liammcintyre9180 Před 6 měsíci

    Video on binding rust and pay would be cool

  • @user-pu7fh3py3w
    @user-pu7fh3py3w Před 6 měsíci +1

    Hey great video, I want to know your opinion on mojo which is going to be the general purpose default language for AI development. Also the two language problem talked by Chris lattner, python users can’t contribute to most python libraries because they are not written in python. Using rust instead of c to write libraries for python doesn’t change anything because you still need to learn a new language and python programmers are generally not habitual of good memory management because we have a garbage collector. If you just want a language faster than python for web development and distributed applications than go lang is better choice because it is much for beginner friendly and better cloud integration. Docker and kubernetes are written in go. If you want fast AI mojo seems a good option for python devs. Rust does make sense only for system programming. By using rust for python modules, we are just increasing the two language problem

  • @shS83
    @shS83 Před 4 měsíci

    Like many others in here, I too am in favor for more Rust (or Ross as CZcams automatic closed caption likes to call it) videos for Pythonistas.

  • @_tsu_
    @_tsu_ Před 6 měsíci

    also, rustpyton is very cool. Not exactly for your typical pythonista but still worth a mention. It puts into perspective how powerful it is even though it feels high level.

  • @Slacker4o
    @Slacker4o Před 6 měsíci

    Amazing content. Just what I need.

  • @CossuttaDario
    @CossuttaDario Před 6 měsíci +3

    A comparison of the differences also with GO, Zig and C++ woudl be amazing! just to get a feel for the use cases and thought process that they are based on!

  • @theyioel
    @theyioel Před 6 měsíci

    OMG! Here we go!

  • @alexanderminidis157
    @alexanderminidis157 Před 6 měsíci +1

    I guess since you started doing this, a comparison to Go or Swift would be nice. Or maybe Julia, since that is more similar to Python than the others?

  • @d3stinYwOw
    @d3stinYwOw Před 6 měsíci +1

    Great video! Instead of Rust, I'd rather pick Nim language, much more approachable to python developers, gives similar benefits like speed like rust, but simpler to pick up. Otherwise, because of Rust we have excellent python-centric packages like Ruff and Pylyzer :)