Two Kinds of Programming

  1. Applications Programming: Make software that provide services to the user directly.
  2. Systems Programming: Make software and software platforms that provide services to other software, and are performance critical.

Low-Level Programming

Low-level languages are very close to the hardware level and deal with things like registers and memory allocation.

Low-level languages are used in systems programming so that programs…:

The language for most systems programming is C because:

Learning Systems Programming

Understanding systems programming means understanding and combining:

  1. The basics of UNIX, and
  2. The basic of C.