A portable program is one which may be used on multiple architectures or operating systems.
- Port - to modify a program to work on a particular architecture.
- Portable - a program which can be used on multiple architectures, typically by compiling/building for a specific target architecture. Note that portable does not necessarily mean able to be ported -- it is often used to mean code which does not need to be ported, because it is architecture-neutral (i.e., contains no assembler, word size assumptions, or other architecture-specific code, and can be compiled (or interpreted) from a high-level language on a wide range of architecture types).
- Architecture-specific - code which is usable only on one or more specific architectures (this is the opposite of portable).
- Non-portable - synonym for architecture-specific (often extremely so!)
- Cross-platform - Code which will execute either on multiple architectures or on multiple operating systems.