===== Portable ===== A //portable// program is one which may be used on multiple architectures or operating systems. Related terms: * Port - to modify a program to work on a particular [[Computer Architecture|architecture]]. * Portable - a program which can be used on multiple [[Computer Architecture|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|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 [[Computer Architecture|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 [[Computer Architecture|architectures]] or on multiple operating systems.