4 ms·
True. Although, panics do run defers, so with good coding practise it's possible to ensure that either you don't share things (but rather pass them around over
by JulianMorrison 13y ago
True. Although, panics do run defers, so with good coding practise it's possible to ensure that either you don't share things (but rather pass them around over channels) or things like locks are safely cleaned up.
- masklinn 13y ago> with good coding practise it's possible to ensure that either you don't share things So is it in C, that's no argument.
- JulianMorrison 13y agoTuring completeness, your argument is invalid. But seriously, it's not just possible to be memory safe in Go, it's fairly easy. You basically have to remember to never lock without defer mutex.Unlock() unless it can't possibly panic, and to share data via channels such that it only ever has a unique "owner". Personally I'd have much preferred full isolation, immutable data with threadsafe mutable references, and Clojure style "persistent" collections which can be treated as values. But Go didn't go down that route.
- Locke1689 13y ago"All you have to do is call free with every malloc and always keep track of your array size. Geez, people, it's not that hard!"