What is this title
The section titled “what is the difference” doesn’t explain what the difference is, only what a generator is (which I already knew).
The only language to get it right was Simula 67.
Could you explain to me how simula’s implementation of coroutines differ from modern languages (be it stackless or stackful)? I tried to dig a little but didn’t find much and I don’t really have time to investigate further.
Thank you!
Simulation 67 keeps the coroutine data on the heap (it is garbage collected).
Guys and girls, This problem has been solved in 1980 already. Why are we still struggling?
It’s called Communicational Sequential Routines. Like, why do we have to come to full circles and Rust after a decade still hasn’t solved the “Async”/Multithreading problem. It’s mind boggling to me, Im sorry, people are gonna hate me for me being frustrated, but I just can’t say that it’s irritating that Rust, a language that really has offered many great ideas, STILL hasn’t figured out how to properly do things like channels and sequential communication? A concept that has been invented since the 80’s? Or if that doesn’t fit at least see how it could fit Rust’s standards?
It’s HORRIBLE that Rust as a language and community STILL uses Tokio and Async-Std and we can’t even decide always which one of the two to use and while they also have some incompatibilities afaik, and this is just for ASYNC. Multithreading and Async? God bless your soul if you’re going to do that in Rust, because prepare for debugging for days and for many weird issues and caveats.
Go, a much MORE inferior in features language has done it. What makes it so difficult to inherent such or a similar approach? It’s a simple concept. Channels. In and out. And syntax and scheduler like Goroutines to make it easy to have async AND multithreading without the caveats Rust has nowadays if you were going to do such thing.