3 ms·
> Go obviously isn't. You can use atomics and syscalls and even assembly in Go to have complete control over the system in the same way that you can in C/C++.
by efficax 9y ago
> Go obviously isn't.
You can use atomics and syscalls and even assembly in Go to have complete control over the system in the same way that you can in C/C++. It's definitely not trivial to bypass Go's memory model and get raw access to memory, but you can do it if you want. I'd say that Go discourages you from doing so, just the way Rust discourages the use of unsafe memory access even though you can if you want.
- cies 9y agoGo strongly pushes a "way to do it", see concurrency for instance. C/C++/Rust have a (one or more) paradigm, but they leave as much liberty to you as a programmer as possible. This I see as a stark difference. Wrt concurrency, Go is more like Node: one way to do it.