Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This seems to have little to do with Go's facilities. Any concurrent program has hazards like these.


In my experience, shared memory instills the appropriate fear and caution, while the apparent simplicity of channels encourages novice Go programers to take on concurrency projects beyond their abilities and without due care. Been on both the submitter and reviewer side of that plenty of times in 10 years.


Rust's concurrency libraries leverage the type system to make these issues much harder to encounter.


Rust's std::sync::mpsc contains most of the hazards of Go's channel, and arguably adds some because the Go runtime provides deadlock detection that Rust lacks.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: