3 ms·
I think the key to the rationale is in the name. libc is a library for C. Go doesn't use the same calling conventions as platform C and does a number of things
by shanemhansen 8y ago
I think the key to the rationale is in the name. libc is a library for C. Go doesn't use the same calling conventions as platform C and does a number of things that make it not really play well with C code.
The authors want a world where you can just make a read syscall without using FFI.
It's possible this is a unrealistic expectation. Linux kernel interfaces are generally quite stable. On OSX and windows the kernel interface seems to be an undocumented unsupported API which is sad.
- tom_ 8y agoThe Windows programming interface comes in the shape of the system DLLs - you load kernel32.dll or whatever, find the symbols you want, and call them. No C necessary, and the interfaces never change. (You might need some stack space to call the functions though.)