To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
I put away rust for a lil while then chose today to come back and look at async. And by some huge coincidence, you post an async video! Truly a christmas miracle
Hey! Welcome back :) I was reading your website the other day randomly after watching one of your older videos and realised you're in Lyon! Very cool as I live here too :D Such a lovely place to live (I am originally from the UK). Anyway Hope you had a lovely Christmas. Bonne fête!
@@fasterthanlime Oh I do, we moved here back in 2018. Absolutely love living in Lyon. Incredible place. Glad to see you're recovering from your surgery earlier in the year :)
The tower future is more flexible but requires you to Box your future or name your future which then requires you to implement your own Future (and probably pull out the pin-project crate) and the logic of the service shifts to the future implementation. I'm not aware of a (near) perfect solution but this is pretty daunting for first time users.
@@fasterthanlime Ah I missed that! So there's no limitation? You can impl the call method with an async block and your future associated type be impl Future + Send + 'a?
Pretty sure async is the last bit of rust I haven't touched yet, hope it gets simpler by the time I get around to it. But then again I haven't yet really needed to write anything that has functions that wait for a bit and need to give way.
It definitely has gotten a lot simpler, you can see the whole history over at areweasyncyet.rs - writing futures manually was the only option in the beginning, and now there's really no reason to do it!
Ok... I'll keep fiddling around with go because I won't be able to convince anyone else learning these concepts, problems & solutions. Including me. I know stuff in theory but using it on a day to day basis & creating maintainable code. I have time & skill issue there. Interesting though.
I love these videos, and I've been in and out of rust for years. After doing a project in C# with linq and cosmos, it's so difficult to consider another project in rust just with ease of use alone. I could say similar things about swift. Having async stabilized like this is a huge boon for rust, I really look forward to seeing more progress. I hope the rust foundation gets comfortable enough to visit older STD libraries to smooth them out, some of them have quite a bit of bloat or cost associated with them that really require alternate packages.
I never really understood the advantage with async. It seems like too much needless complexity for me. I would much rather run around calling libc::ppoll on file descriptors like a cavewoman than having to deal with all that.
Been getting rusty on rust lately lol i started aoc in rust and only made it to like problem 6...i did do aoc cybersecurity tho lol i have a lot of fun with rust but still not 100% comfortable with it yet tbh
The problem is that each of your dependencies have to be written for the same version of the same runtime to be used in the same context. I know about those other runtimes. More runtime doesn't help this problem at all.
@@ankur-dhama lol rust doesn't want a runtime or have an abstraction-scheduler over os threads, runtimes in embedded like embassy or rtic that are interrupt driven async runtimes wouldn't work for that. You are comparing rust with solutions for languages that are not targeting system level or embedded software.
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/fasterthanlime/. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
hey, hope you are doing great.
Great to see you again
@@romanstingler435I actually am, thanks for asking! Happy holidays!
I put away rust for a lil while then chose today to come back and look at async. And by some huge coincidence, you post an async video! Truly a christmas miracle
Bbno$ at home.
Happy holidays
lol
Hopefully return type notation gets stabilized soon so you'll be able to add those Send and 'static bounds on the caller side.
Do you have a link to what it's going to look like?
Hey! Welcome back :) I was reading your website the other day randomly after watching one of your older videos and realised you're in Lyon! Very cool as I live here too :D Such a lovely place to live (I am originally from the UK). Anyway Hope you had a lovely Christmas. Bonne fête!
Bonnes fêtes to you too, enjoy the European Union 😌
@@fasterthanlime Oh I do, we moved here back in 2018. Absolutely love living in Lyon. Incredible place. Glad to see you're recovering from your surgery earlier in the year :)
The tower future is more flexible but requires you to Box your future or name your future which then requires you to implement your own Future (and probably pull out the pin-project crate) and the logic of the service shifts to the future implementation. I'm not aware of a (near) perfect solution but this is pretty daunting for first time users.
The video shows a third solution (TAIT), but yeah, all off it is probably daunting, good point!
@@fasterthanlime Ah I missed that! So there's no limitation? You can impl the call method with an async block and your future associated type be impl Future + Send + 'a?
Missed these videos!!
Pretty sure async is the last bit of rust I haven't touched yet, hope it gets simpler by the time I get around to it. But then again I haven't yet really needed to write anything that has functions that wait for a bit and need to give way.
It definitely has gotten a lot simpler, you can see the whole history over at areweasyncyet.rs - writing futures manually was the only option in the beginning, and now there's really no reason to do it!
Ok... I'll keep fiddling around with go because I won't be able to convince anyone else learning these concepts, problems & solutions. Including me.
I know stuff in theory but using it on a day to day basis & creating maintainable code. I have time & skill issue there.
Interesting though.
I was expecting a mention of + use, which I haven't had a chance to use yet but is apparently about specifying lifetimes for futures?
🎹🎹🎹 💯💯💯
😌😌😌
what if we could add bounds to functions in traits? ```rust
trait Foo{
async fn bar(&self) + Send + Sync + 'static -> i32{
...
}
}```
where are your cat ears?
I keep my cat ears were nobody would look for them: on my two cats.
I love these videos, and I've been in and out of rust for years. After doing a project in C# with linq and cosmos, it's so difficult to consider another project in rust just with ease of use alone. I could say similar things about swift.
Having async stabilized like this is a huge boon for rust, I really look forward to seeing more progress. I hope the rust foundation gets comfortable enough to visit older STD libraries to smooth them out, some of them have quite a bit of bloat or cost associated with them that really require alternate packages.
This video was the best christmas gift I could've gotten. Thanks!
Merry Christmas :)
I never really understood the advantage with async. It seems like too much needless complexity for me. I would much rather run around calling libc::ppoll on file descriptors like a cavewoman than having to deal with all that.
what song is playing in the first 15 seconds of this video
This it too fast for me to digest. 😵💫
Been getting rusty on rust lately lol i started aoc in rust and only made it to like problem 6...i did do aoc cybersecurity tho lol i have a lot of fun with rust but still not 100% comfortable with it yet tbh
i wish they can fix all these async rust issue. idc if breaking change has to be made here.
There are still fundamental problems with rust async. What color is your runtime? Not only what color is your function?
I like blue!
I mean isn’t it a universal problem though?
Where some see problems, others see flexibility! tokio is not the be-all end-all, see monoio, glommio, etc,
The problem is that each of your dependencies have to be written for the same version of the same runtime to be used in the same context. I know about those other runtimes. More runtime doesn't help this problem at all.
Not with the go keyword with channels but I guess it's too much overhead for rust@@us4tiyny4n
This language is such an eye soar, its like looking at chicken scratch
*eye sore
Async has always been a mistake everywhere. It is an antipattern that infects libraries and bubbles up everywhere.
What is the alternative?
@@PaleyBlog Go has the alternative, essentially using the idea of "green threads".
@@ankur-dhama lol rust doesn't want a runtime or have an abstraction-scheduler over os threads, runtimes in embedded like embassy or rtic that are interrupt driven async runtimes wouldn't work for that. You are comparing rust with solutions for languages that are not targeting system level or embedded software.
Thanks for the Christmas gift 😊 are we going to see you at RustNL/RustWeek in May? "No spoilers" is also a valid answer 😉
I’ll be there!!