2 ms·
None of system programming can be statically checked, since it's mostly about I/O with weak memory models.
by mgaunard 4y ago
None of system programming can be statically checked, since it's mostly about I/O with weak memory models.
- Yoric 4y agoCaveat: we may be using different definitions of "system programming". The one I'm using is code that is fairly close to the system, i.e. will call into libc or into the kernel/libSystem/etc. as well as calling more-or-less directly into a bunch of system-specific .so/.dylib/.dll. In my experience as a system developer, you need to invest some time into understanding the invariants expected/promised by the libraries you're calling, but many of them map nicely to static types. Of course, if you're implementing e.g. a IPC or RPC layer, you need to deserialize (and validate along the way) your inputs, but there are very few systems that do not need to do that regardless.