4 ms·
Productivity, portability, stability, mind-share, direct access to OS APIs... there's a lot of reasons to still use C.
by jstimpfle 11mo ago
Productivity, portability, stability, mind-share, direct access to OS APIs... there's a lot of reasons to still use C.
- pjmlp 11mo agoOnly 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.
- mbac32768 11mo agoCould you name two of these that are important to you?
- cryptonector 11mo agoOr 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.
- pjmlp 11mo agoAndroid, 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.