Screenshot from an Acorn computer system

Software is the set of instructions that tells the computer hardware what to do. The set of instructions is called a 'program'.

Computer software consists of machine-readable instructions that direct a computer's processor to perform particular tasks. The term 'software' is used to contrast it with computer hardware, the physical objects (processor and related devices) that carry out the instructions. Magnetic disks, CDs, and memory sticks are examples of devices for storing software. Hardware and software require each other; neither has any value without the other.

Data expressed as holes in paper tape

Throughout the History of Computing resource there are many examples of software being loaded into, or input, into computer hardware, through a variety of different interfaces and with varying levels of speed and complexity. In the last 70 years or so, the complexity of the software has both driven the evolution of computer hardware and also at times struggled to keep pace with the hardware developments. Hardware and software development tends to be a bit like leapfrog, each repeatedly overtaking the other. The computational power of modern computer systems is partly a result of increasingly sophisticated software as well as increasingly capable hardware.