A computer program is a collection of instructions that describes a task, or set of tasks, to be carried out by a computer. More formally, it can be described as an expression of a computational method written in a computer language.
Computer programs, also known as software, may be categorized along functional lines. These functional categories include application software, operating systems, video games, and compilers, among others. Computer programs embedded in hardware devices are called firmware.
The formal expression of computational methods in a human-readable computer language is often referred to as source code, while the machine-executable expressions of computational methods are commonly referred to as executables, object code, or simply as binaries — a reference to the binary file format commonly used to store the executable code.