Comment by pjmlp

3 months ago

Only if the OS is written in C, and has its APIs exposed as C APIs to userspace.

Quite a few OSes don't fit that rule.

Could you name two of these that are important to you?

  • Android, userspace is Java, and what is exposed on the NDK is a tiny portion, as it is only meant for games and implementing native methods for better performance beyond what JIT/AOT do, or bindings to existing libraries.

    About 80% of the OS APIs are behind JNI calls, when using the NDK.

    iOS, iPadOS, watchOS, the large majority of userspace APIs is based on Objective-C, or Swift, bare bones C is only available for the POSIX leftovers.

    You need to call the Objective-C runtime APIs for anything useful as an app that Apple would approve.

    For the Plan 9 geeks, Inferno, OS APIs are exposed via Limbo.

    For folks that still find mainframes and micros cool, IBM i, IBM z/OS, Unisys ClearPath MCP, Unisys OS 2200.

    For retrogaming folks, most 8 and 16 bit home computers.

  • Or even one. I know there are operating systems in use that are not written in C, but the major ones are written in C. And anyways, it's not just the OS. There's a pile of C code. Fil-C is a fantastic idea. I think Fil is going to make it good enough to use in production, and I badly want to use it in production.