Computer software encompasses the programs, instructions, and data that tell a computer what to do. It’s the intangible component that allows a computer to perform tasks, as opposed to the physical hardware. Software can be broadly categorized into system software and application software.
Software consists of computer programs that instruct the execution of a computer.[1] Software also includes design documents and specifications.
![]() | It has been suggested that this article be merged into Computer program. (Discuss) Proposed since June 2025. |
The history of software is closely tied to the development of digital computers in the mid-20th century. Early programs were written in the machine language specific to the hardware. The introduction of high-level programming languages in 1958 allowed for more human-readable instructions, making software development easier and more portable across different computer architectures. Software in a programming language is run through a compiler or interpreter to execute on the architecture’s hardware. Over time, software has become complex, owing to developments in networking, operating systems, and databases.