Rust Async Programming in 2018 • Katharina Fey • GOTO 2018

Поделиться
HTML-код
  • Опубликовано: 31 дек 2024

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

  • @robertswain278
    @robertswain278 5 лет назад +22

    I've seen a number of people struggling with writing async code over the past year or so. This talk was a really great walk through of the history of async I/O in Rust leading up to the current state of things. Thank you!

  • @ProCoder2007
    @ProCoder2007 6 лет назад +8

    Very cool, informative, entertaining and good to follow talk :) Nice!

  • @Zendist
    @Zendist 5 лет назад +5

    Great talk, very informative. Been wanting to learn more about Rust and how async is implemented with it. Also loved the Bojack reference 😊.

    • @circularly
      @circularly 4 года назад

      drat, i missed it. where was it?

    • @Zendist
      @Zendist 4 года назад +1

      @@circularly 10:38 :)

  • @Techonsapevole
    @Techonsapevole 6 лет назад +7

    Good talk, thanks!

  • @Bubatu7
    @Bubatu7 5 лет назад +1

    Great talk!

  • @Posichronic
    @Posichronic 5 лет назад +5

    Just stopped by to say the thumbnail for this video looks metal as fvck.

  • @edgeeffect
    @edgeeffect 4 года назад

    Really really hard to read the code samples on the slides... higher luminance contrast please.

  • @BenjaminCronce
    @BenjaminCronce 5 лет назад

    I've been obsessed with concurrency since I was 10. I think it's fun and relatively easy if designed correctly. If you limit how a object can get in a certain state to a small bit of code, instead of strewn all over the system, any time there is an issue with that state, you only have to look at a little bit of code.
    Sometimes it is desirable to lose data in order to gain scalability. Will Rust allow me to write code that allows certain kinds of race conditions like lossy algorithms?

    • @berndeckenfels
      @berndeckenfels 5 лет назад +1

      Benjamin Cronce I guess there are many race conditions which are blocked by the compiler due to the single owner principle, but you can always use unsafe doc.rust-lang.org/1.5.0/book/unsafe.html

  • @nolike1984
    @nolike1984 6 лет назад +1

    Excuse me, am i right, that for async/await need some runtime >? does it mean lose 0 cost abstraction >? and what's about compiler errors for not safety async code ?

    • @TheSrishanbhattarai
      @TheSrishanbhattarai 6 лет назад +12

      There is always SOME runtime. People generally mean a MINIMAL runtime when they say C or Rust has no runtime. With async/await, as the speaker explained around the 13min mark, there is some scheduling overhead with the event loop. What's cool though is that the Futures themselves are zero cost abstractions and because Rust does NOT subscribe to the m:n model (as Go does), the language itself still does not pay for this runtime.

    • @nolike1984
      @nolike1984 6 лет назад +3

      thanks, Srishan. Now i found a discussion about Scheduling model in Rust: news.ycombinator.com/item?id=6980946

    • @chinoto1
      @chinoto1 5 лет назад +5

      This reminds me of when people talk of not using a framework, but really you're always using a framework, even if it's something you cobbled together yourself. In the case of Go, you're stuck with the event system that is built into the language, but with Rust you can pick or create one tailored to your needs. Though it can be convenient to just be told "here, use this".

    • @vegai
      @vegai 5 лет назад

      She elaborates the concept of zero-cost abstractions a bit at around 19:40

    • @floriangilcher4812
      @floriangilcher4812 5 лет назад

      That discussion discusses a research version of Rust. Rust was finally released in 2015, and doesn't have the Task model anymore.

  • @goodingwashington6099
    @goodingwashington6099 5 лет назад

    Hope i can join rust bridge workshop next time you do it in Portland.

  • @Sousleek
    @Sousleek 5 лет назад

    Cool

  • @Siniverisyys
    @Siniverisyys 4 года назад

    "Zero cost abstraction" should mean that the cost is zero because the abstraction is summed to zero at compile time. I think that the Rust guys are abusing the term. It should be called "user parity" abstraction or "as good as you" abstraction.

  • @snom3ad
    @snom3ad 5 лет назад +18

    Terrible crowd, some of her jokes were really funny yet no one laughed. Great presentation nonetheless.

    • @andersarpi5230
      @andersarpi5230 5 лет назад +17

      Terrible crowd... or good mic setup?

    • @bisalonggo5212
      @bisalonggo5212 5 лет назад +2

      @@andersarpi5230 I actually went straight to the description for an Amazon Affiliate link on that mic...

    • @glowiever
      @glowiever 4 года назад +1

      >her

  • @bakarock90
    @bakarock90 5 лет назад +2

    Obviously Java & Mocha are not for you, because you love tea. 😎

  • @realcygnus
    @realcygnus 5 лет назад

    build a linux-like kernel with it !?

    • @recklessroges
      @recklessroges 5 лет назад +3

      Already done, (multiple times): www.redox-os.org/ os.phil-opp.com/ github.com/thepowersgang/rust_os

  • @Danielo515
    @Danielo515 5 лет назад +1

    I will never understand what problem has people with async programming. It's quite easy to reason about

    • @julkiewitz
      @julkiewitz 5 лет назад +2

      Those who think it's easy usually introduce all the bugs that other people have to fix...

    • @jorickcaberio5367
      @jorickcaberio5367 5 лет назад

      @@julkiewitz not if you use a language like Erlang

    • @julkiewitz
      @julkiewitz 5 лет назад

      @@jorickcaberio5367 Sure, there are nice abstractions to deal with the difficult problem that is async programming. Doesn't mean you should be ignorant of why they exist and what problems they solve. At present, most languages contain enough ammo to easily shoot yourself in a foot when it comes to race conditions.

  • @asdasdaasdasda4978
    @asdasdaasdasda4978 5 лет назад +2

    So nothing about async in a talk about async?

  • @thomasmaier7053
    @thomasmaier7053 5 лет назад +2

    I very much don't agree with Katy's opinions about feminism, sexism and so on but her talk is great!

    • @julkiewitz
      @julkiewitz 5 лет назад +21

      She never even mentioned these topics... and then people complain about these topics being brought up for no reason. It seems the same people complaining about these topics being brought up too often are the ones bringing them up too often. Lol.