We will call a program portable if adapting it to a new environment is easier than
rewriting it for that environment. This document is mainly for those who have
never ported a program to another platform — a specific hardware and software
environment