| ▲ | closeparen 7 hours ago |
| It's pretty easy to get yourself into trouble with channels: deadlocks, send on closed, channel leaks, deadlocks "fixed" thoughtlessly with arbitrarily-sized buffers, etc. |
|
| ▲ | jeffbee 7 hours ago | parent [-] |
| This seems to have little to do with Go's facilities. Any concurrent program has hazards like these. |
| |
| ▲ | treyd 34 minutes ago | parent | next [-] | | Rust's concurrency libraries leverage the type system to make these issues much harder to encounter. | |
| ▲ | closeparen 7 hours ago | parent | prev [-] | | 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. |
|