Hacker News new | ask | show | jobs
by int_19h 3084 days ago
You forgot the part where, for the sake of simplicity, their stdlib directly invokes syscalls (rather than going through libc). Which breaks on platforms where syscalls are not considered a stable API, like the BSDs and macOS:

https://github.com/golang/go/issues/16606

1 comments

I don't think its for simplicity, Cgo has real overhead.
Doesn't forcing your self into a corner where you have to either depend on unstable system interfaces or suffer severe performance penalties indicate poor design?

Obviously any set of abstractions is going to wind up making tradeoffs, and choices that make one particular set of problems easy can cause negative consequences in other areas. Just the more that I used go, the more I grew to question the logic behind these design decisions. Perhaps they make sense at Google, but to me they don't seem to make sense outside of its internally-controlled confines.