Software is a set of instructions, data, or programs used to operate computers and execute specific tasks. Software is a generic term used to refer to applications, scripts, and programs that run on a device. Software is the variable part of a computer, while hardware is the invariable part.
The two main categories of software are application software and system software. Application software fills a specific need or task. System software is designed to run a computer's hardware and provides a platform for applications to run on top of.
Other types of software include programming software, which provides the tools software developers need; middleware, which mediates between software; and driver software, known as device drivers, which operates computer devices and peripheral hardware like printers.
The most common type of software is application software. Application software is a broad category of software that performs specific functions for users or other applications. Multiple application software can run on a single system software and can be stored on CDs, DVDs, flash drives, or other USB storage devices. Examples of application software types include office suites, graphics software, databases and database management programs, web browsers, word processors, software development tools, image editors, and communication platforms. Some popular software applications include Microsoft Office, Salesforce, Slack, Zoom, DocuSign, Box, G Suite, and ZenDesk.
System software sits between the computer hardware and the application software, coordinating the two. It controls the operations of the computer hardware and provides an environment or platform for all the other types of software to work in or on. Users generally do not interact directly with system software because it runs in the background, handling the basic functions of the computer like memory, process management, and security. System software executes when a computer boots up and continues running, as long as the computer is on. Examples of system software include operating systems (OS), firmware, programming language translators, communication software, and utility programs. Examples of the most commonly used operating systems (OS) are Windows, macOS, IOS, Android, and Linux.
Drive software, known as device drivers, are often considered a type of system software. Device drivers control the devices and peripheral hardware, like printers, that are connected to a computer. Every device that is connected to a computer needs at least one device driver to function. Examples include software that enables commonly used peripheral hardware, such as USB storage devices, keyboards, headphones, and printers.
Middleware describes software that mediates between application software and system software or between different kinds of application software. For example, middleware enables Microsoft Windows to talk to Excel and Word. It is also used to send a request from an application in a computer that has one kind of operating system (OS) to an application in a computer with a different operating system (OS). Middleware also helps newer applications work with older ones.
Computer programmers use programming software to write code. Programming software and programming tools enable developers to develop, write, test, and debug other software programs. Examples of programming software include assemblers, compilers, debuggers, and interpreters. Some programming software include Java, Swift, Python, Go, C, and C#.
Tom Kilburn, a computer scientist, wrote the world's first piece of software for the Manchester Baby computer at the University of Manchester in England on June 21, 1948. It was not until 1958 that the term "software" was used for the first time, which is attributed to John Tukey.
The First Program (Digital 60)
The Manchester Baby, the world's first stored program computer, ran its first program - Event - Computing History