When to Choose Rust • Tim McNamara • YOW! 2022

Поделиться
HTML-код
  • Опубликовано: 21 апр 2023
  • This presentation was recorded at YOW! 2022. #GOTOcon #YOW
    yowcon.com
    Tim McNamara - Author of “Rust in Action” & Software Developer at AWS ‪@timClicks‬
    RESOURCES
    Get 35% discount on all Manning products with code: ytGOTO35
    mng.bz/z5RQ
    / timclicks
    / timmcnamaranz
    www.rustinaction.com
    doc.rust-lang.org/stable/book
    ABSTRACT
    Rust is fashionable, but is it right for your team? This talk explains the benefits of the Rust programming language and provides some rationale behind the hype. It’ll then spend some time outlining decision criteria for adopting Rust and provide plan for incremental adoption, if that’s what your team decides to do. [...]
    Read the full abstract here:
    yowcon.com/sydney-2022/sessio...
    RECOMMENDED BOOKS
    Tim McNamara • Rust in Action • amzn.to/3ux2R9u
    Richard Feldman • Elm in Action • amzn.to/387kujI
    Brenden Matthews • Code Like a Pro in Rust • amzn.to/3LFAyy9
    Prabhu Eshwarla • Rust Servers, Services & Apps • amzn.to/3yV13br
    Bastian Gruber • Rust Web Development • amzn.to/3lquaQX
    Blandy, Orendorff & Tindall • Programming Rust • amzn.to/3x7r6w6
    Ken Youens-Clark • Command-Line Rust • amzn.to/3PQZ539
    Kevin Hoffman • Programming WebAssembly with Rust • amzn.to/3x3brhe
    / gotocon
    / goto-
    / gotoconferences
    #Rust #Rustlang #RustInAction #SystemsProgramming #ComputerScience #TimMcNamara #SoftwareEngineering #Programming #PersistentStorage #Networking #SegmentationFault #YOWcon
    Looking for a unique learning experience?
    Attend the next GOTO conference near you! Get your ticket at gotopia.tech
    Sign up for updates and specials at gotopia.tech/newsletter
    SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily.
    ruclips.net/user/GotoConf...
  • НаукаНаука

Комментарии • 35

  • @timClicks
    @timClicks Год назад +42

    Hi RUclips, speaker here! 👋 I am happy to answer any questions 😊

    • @Tychipter
      @Tychipter Год назад +1

      Hi Tim! Great talk. I am also one of those who attempted to apply other programming patterns and got bit by the borrow checker. Which is a shame because I really wanted to like Rust with a Scala background but it hurt my head 😅. Is there any good repos or guides for patterns in Rust?

    • @Whatthetrash
      @Whatthetrash Год назад +2

      Hey, Tim! Great talk. I just started learning Rust myself and it's always exciting to see people who know way more than me about it. Gives me a goal to aim for. Although I just started I hope I can get a job within a year with this language. Just trying to get better. Onward to projects! :)

    • @aftalavera
      @aftalavera Год назад +1

      Is Rust itself a virtue signal?

    • @timClicks
      @timClicks Год назад +5

      ​@@aftalavera I hope so! It's important that technology is not seen as politically neutral. Programming languages are social constructions and are subject to social pressure.

    • @xD-saleem
      @xD-saleem 9 месяцев назад +1

      @@timClicks Hi Tim, amazing talk. I have a question for you. Will there be jobs in 2/3 years in rust. Im just stuck between choosing a language to learn. C++ or rust.

  • @thingsiplay
    @thingsiplay Год назад +15

    I know Rust for 2 years and wrote 2 little desktop cli tools. And still watch intros to the language.

  • @maximus1172
    @maximus1172 5 месяцев назад

    I am addicted to Rust and can't stop learning it even though its hard. Its that good!!

  • @jameskoh3463
    @jameskoh3463 7 дней назад

    14:50, now I know where the Victor Vector idea comes from

  • @kameikojirou
    @kameikojirou Год назад +4

    Great talk!

  • @kkklllaaa1234
    @kkklllaaa1234 11 месяцев назад +6

    Just pick the right problem and Rust is always the answer

  • @256k_
    @256k_ Год назад +12

    the more i learn rust the more i love it and understand what it offers and the elegance of the language despite the syntax

    • @Yupppi
      @Yupppi 8 месяцев назад +1

      It's almost like a Stockholm syndrome or buying something really nice that doesn't suit you at all. You just keep convincing yourself it's nice until you believe it. Or in this case until you learn to use it so that you don't get migraine anymore from trying to make simple things work.

  • @Yupppi
    @Yupppi 8 месяцев назад +2

    Good pointers. I very much agree with the 55% leaving because it's too hard and time consuming to learn. Like the foundation of writing simple programs is taking a user input, doing a little thing, for example a math operation on a number and print the result. Those few lines get really ugly to write. I really like the language, but despite the learning material being really good, something like rustlings being brilliant, there's never an example of a super common application of use that just doesn't compile no matter how you try to write it. It's just a really painful experience.
    And like 50% the experience of rustlings for me has been asking what it wants me to do and how, because it has an idea of what it wants to be done and what way - I might be able to easily write the functionality if I rewrote it, but that's not the point of the learning experience. And the hints often being something totally obvious that doesn't help at all solving the syntax, like you know what you want to do and the documentation or the rust book example doesn't help with that. Then you find that ok you just didn't know of the method or how to apply that method or what it does, what the rules are.
    So basically you learn by banging your head to the wall, then looking up someone's solution and wondering how you were supposed to know that. At times rustlings shows you a piece of code and then in the next task you need to use that idea or example to do something and it works out great. But often times it's totally unfamiliar code, code style and methods used and you're just staring at it thinking "I don't even know what's happening in the code, how should I be able to modify it to fix or change some functionality".
    And like a lot of Rust becomes "you have to know these magic words to do this functionality, but if you use this magic word, you have to use these two additional magic words, and if you use that magic word, you have to use those magic words" and you end up with like 4 additional magic words to get a simple thing done. And sometimes it's just completely beyond my understanding why you even need to word it out. Like I think iterating through a vector you're instructed to do vec.iter().map(|v| blah blah).collect() or so. And I just wanted to do something like for values in vec: value*2; And if you have to always do the |v|, what's the meaning of cluttering with that, why doesn't .map() take care of that automatically? Probably something beyond my understanding that would answer this with "oh, obviously". But I initially thought c++ was a bit cumbersome with syntax, but now I feel c++ is very hands off compact writing. And understandable in what the heck the program is actually doing, not just magical words and symbols. And compiling errors because you didn't specify the difference between &str and String and you forgot that the specific method changes it from String to &str while the other method changes it from &str to String. And what's wrong with you when you think String::from("something") is the most reasonable syntax? And don't get me started on that previously mentioned thing of taking a user input and then converting it into a number with all the error handling and matching and whatnot. One thing I totally couldn't understand was

  • @goosebumpsfm
    @goosebumpsfm Год назад +7

    great intro to the language, thanks for sharing

    • @timClicks
      @timClicks Год назад

      Am glad that you liked it!

  • @recklessroges
    @recklessroges Год назад +1

    Choose Rust when you can.

  • @LutNurakhmetov
    @LutNurakhmetov Год назад +19

    When to Choose R**t

    • @srikanthkandarp
      @srikanthkandarp Год назад +8

      Nice you won't get sued now hahaha 🥴

    • @wewe-fx6un
      @wewe-fx6un Год назад

      I didn't understand

    • @shinuza
      @shinuza Год назад +1

      ​@@wewe-fx6unlookup "rust foundation drama"

  • @olegkilimnik8523
    @olegkilimnik8523 Год назад +2

    Please choose colors regarding colorblind people too, reading the code is a disaster

  • @steveoc64
    @steveoc64 7 месяцев назад +2

    I have to use rust at work, due to poor decisions made by 3rd parties.
    It’s quite a complex language, but still a reasonably good fit for some tasks, as long as you stay inside it’s rather horrible constraints.
    Go is generally more productive for the same task, although way less efficient than well designed rust code.
    Zig is the way to go .. faster and leaner programs than the same thing in rust, and much more productive if you know what you are doing.
    Zig is a few years off a proper 1.0 release yet, but still, it’s already a joy to use.
    I can’t think of a single reason why I would personally choose Rust for any new code, given that Go or Zig are both options on the table.
    Actually wrong - the only reason I would “choose” rust is because the client made a mistake mandating Rust, and they are willing to pay absurd rates to back up their bad decisions rather than admitting they were wrong

    • @pierreollivier1
      @pierreollivier1 7 месяцев назад +2

      amen brother, zig is truly amazing

  • @paulholsters7932
    @paulholsters7932 8 месяцев назад +1

    I bought a Rust book. I quit learning Rust immediately after and bought a Go book.

    • @maximus1172
      @maximus1172 5 месяцев назад

      which go book did you get?

    • @Heater-v1.0.0
      @Heater-v1.0.0 4 месяца назад +1

      That's OK. One can learn Go in no time. Then you can get back to your Rust studies. I promise you it's a lot more interesting and inspiring.

  • @James-mk8jp
    @James-mk8jp Год назад +4

    Never

    • @1____-____1
      @1____-____1 2 месяца назад +1

      Pack it up bois... This guy says to never use Rust.