3 ms·
Automatic heap allocation and garbage collection are big ones. People debate this endlessly, and it's true that undeniably-systems-ish software projects like Do
by oconnor663 6y ago
Automatic heap allocation and garbage collection are big ones. People debate this endlessly, and it's true that undeniably-systems-ish software projects like Docker and CockroachDB are written in Go. But at the end of the day there will always be some systems that cannot be written in Go because of how it manages memory, which is not the case with C, C++, or Rust.
- shim__ 6y agoWell thats just like how one might say numpy is written in python, so portion of it certainly is but all the heavy lifing is done by C, the same goes for Docker. Docker is "just" an cli around cgroups which is a kernel feature written in again C.
- oconnor663 6y agoThat's a good point. Maybe you could argue that most of the heavy lifting in CockroachDB is actually done by RocksDB.
- irfansharif 6y agoIt's not, not at all. We've actually gone as far as replacing RocksDB with https://github.com/cockroachdb/pebble/ https://github.com/cockroachdb/pebble/ by default now (and it's written in Go).
- oconnor663 6y agoOh very cool. What was the main motivation for moving away from RocksDB?