Is the notion of structuring a program as a collection of linked modules.

To avoid name clashes, each module has its own Name Space.

Pros

  • Large programs can be broken into smaller pieces with clear interfaces.
  • It becomes easier to replace parts of a program.
  • Implementation details can be abstracted away from the rest of the program.
  • Code in modules can be reused.
  • Compilation time can be reduced by only recompiling changed modules.
  • Code can be shared among several programs at runtime.

Implementations

4 items under this folder.