Is it a statically compiled language?
Is this going to be a statically compiled language like Go, or will the binaries depend on external libraries?
There's a libc dependency, so not quite like Go.
Actually I just found out that as of Go 1.12, binaries are dynamically linked to libc on macOS, Solaris, and Windows.
Also, if you do networking, libc is used on Linux as well.
Using libc is preferable to unstable and undocumented raw syscalls.
Everything other than libc is linked statically, so I would say the answer to your question is yes.
Wow! Didn't know that...
macOS, Solaris, and Windows have unstable syscall ABIs. Linux is different. The Linux syscall ABI is considered to be part of the compatibility surface and therefore very stable as Linux takes breaking compatibility very seriously. Also, in my experience, the libc documentation applies to the backing syscalls pretty well.
The net package in Go only uses libc as a fallback for a few edge cases in DNS resolution. In normal usage of the Go net package on Linux, libc is linked in, but not used. Disabling cgo for the Go net package on Linux will not result in a change in functionality or behavior for most users and is done automatically for cross compiling.
There are a lot of reasons not to use libc. Is Go going to remain the only language that allows full use of its standard library without it?
That would align with the philosophy of V, so I would say it will definitely happen, but only for Linux.
Do you know if FreeBSD's syscall API is stable as well?
Log in via GitHub to comment
, open-source blogging/forum software written in V