Hardware is computer machinery and equipment,
memory, cabling, power supply, peripheral devices, and circuit boards. Computer operation requires both hardware and software. Hardware design specifies a computer's capability; software
the computer on what to do. The advent of microprocessors in the late 1970s led to much smaller hardware assemblies and accelerated the proliferation of
. Today's personal computers are as powerful as the early mainframes, while mainframes are now smaller and have vastly more computing power
the early models.
Software is a term for instructions that tell a computer what to do. Software is the entire set of programs, procedures, and routines
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
, 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
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
.