Ok - I get that. But, there is a system call interface. int 0x80, syscall.
Now, these can be wrapped, and the result exposed in a completely different way.
But that is the definition. If its "C" on one side and "C" on the other... well, ok then! I though Linux had vDSOs to allow direct "ABI" calls for performance reasons.... utilizing that will force a certain "C-ish" look. In turn, that can be wrapped. None of this changes quickly.
Heck. CP/M-80 had "CALL 5" with registers a certain way. Wasn't "C" by any stretch!
Because the C (POSIX, mostly) "API" is stable and available, we tend to use it. Wasn't always the case -- after all, FORTRAN I/O was all the rage back in the 60s (cf SNOBOL4).
If (whatever) programming system wants to avail itself of the C infrastructure, it is certainly free to do so. Stop the endless whinging about C! Why C? It is the only language in its class that works from Z80 to my Thinkpad.
On some platforms (Darwin, among others), the syscall interface is defined not to be stable. Syscalls must go through Libsystem stubs -- which is written in C.
Go made the mistake of assuming the Darwin syscall interface was stable, and an OS update broke binaries.
Ok - I get that. But, there is a system call interface. int 0x80, syscall.
Now, these can be wrapped, and the result exposed in a completely different way. But that is the definition. If its "C" on one side and "C" on the other... well, ok then! I though Linux had vDSOs to allow direct "ABI" calls for performance reasons.... utilizing that will force a certain "C-ish" look. In turn, that can be wrapped. None of this changes quickly.
Heck. CP/M-80 had "CALL 5" with registers a certain way. Wasn't "C" by any stretch!
Because the C (POSIX, mostly) "API" is stable and available, we tend to use it. Wasn't always the case -- after all, FORTRAN I/O was all the rage back in the 60s (cf SNOBOL4).
If (whatever) programming system wants to avail itself of the C infrastructure, it is certainly free to do so. Stop the endless whinging about C! Why C? It is the only language in its class that works from Z80 to my Thinkpad.