Instructions that tell a computer what to do.
Software is the entire set of programs, procedures, and routines associated with the operation of a computer system, including the operating system . The term differentiates these features from hardware , the physical components of a computer system. Two main types of software are system software, which controls a computer's internal functioning, and application software, which directs the computer to execute commands that solve practical problems. A third category is network software, which coordinates communication between computers linked in a network. Software is written by programmers in any number of programming languages . This information, the source code, must then be translated by means of a compiler into machine language , which the computer can understand and act on.