Check out my first novel, midnight's simulacra!

Systems programming

From dankwiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

I would define systems programming to be that which (by necessity, rather than optimization, featursm, ignorance, or a combination thereof) interacts directly with the operating system; the system (as opposed to application) programming interface, traditionally documented in section 2 of the UNIX manual. I consider a language a systems language if it:

  • provides full (typechecked, direct, efficient) support for said system programming interface
    • this means a systems language on one host might not be a (useful) systems language on another!
  • provides control of data layout up to the capabilities of the host
    • this can be necessary for operating with binary specifications, etc

C is (and always has been) the prototypical systems language of most UNIX systems.