最近の多くのプログラミング言語では、プログラムはサブルーチンなどの小さなコンポーネントに分割されており、各サブルーチンは複数の物理的に分割されたファイルに配置され、個々にコンパイルされる。
在大多数现代计算机编程语言中，程序可以被分成如子程序的更小的组件，这些组件可以通过许多物理源文件分发，这些源文件被单独编译。