It used to be that I just never did concurrency. It was easy as an embedded guy. Learning Rust though has made me less fearful of concurrency until things don't work because of too many threads. 😕
I went from C threads, then confused by python async, to learning go and calling a function as a goroutine. I rather do C threads than figure out wtf is going on with async stuff.
(c/g)oroutines are awesome. If you ever get tired of the POSIX thread grindset you might like something like this. Goroutines actually directly followed from the work done with "Communicating Sequential Processes" at Bell Labs with Alef's threading model and Plan 9's libthread.
I didn't really get async until I saw it done in Rust. I still like using thread pools and plain old threads though. If you like C threading then you'd probably like Rust.
It used to be that I just never did concurrency. It was easy as an embedded guy. Learning Rust though has made me less fearful of concurrency until things don't work because of too many threads. 😕
I went from C threads, then confused by python async, to learning go and calling a function as a goroutine. I rather do C threads than figure out wtf is going on with async stuff.
(c/g)oroutines are awesome. If you ever get tired of the POSIX thread grindset you might like something like this. Goroutines actually directly followed from the work done with "Communicating Sequential Processes" at Bell Labs with Alef's threading model and Plan 9's libthread.
I didn't really get async until I saw it done in Rust. I still like using thread pools and plain old threads though. If you like C threading then you'd probably like Rust.