3 ms·
If /usr/include were dropped and /usr/lib only contained Go packages, then you'd have an ecosystem where library namespaces are handled in a scalable way--that'
by ericbb 13y ago
If /usr/include were dropped and /usr/lib only contained Go packages, then you'd have an ecosystem where library namespaces are handled in a scalable way--that's a pretty big deal. You'd be working in a statically linked environment rather than a dynamically linked environment--another major change. Garbage collection for everything in user space. Potentially, the removal of select/poll? Drastic increase in memory safety (buffer overruns, etc).
Based on the package naming, dependency management, and concurrency, it might even be argued that a Go user space is a bigger fundamental change than a Smalltalk or Lisp user space.
Btw, one probably wouldn't write a kernel in Go so I take the parent to be speculating about a system where new OS features were provided by integrating them first into a Go standard library rather than by integrating them into the C standard libraries.
- amock 13y agoMost of these things don't sound like they need OS support. Just writing Go libraries and using Go alongside the existing system can provide a statically linked environment, no need for the application write to use select/poll or worry about memory safety, and garbage collection. It doesn't have to be "Go all the way down" since you won't be modifying your environment at runtime.