Definition:
Software is the collection of programs, instructions, data and configurations that enables a computer or another device to perform functions. It is the logical part of a computer system: it tells the hardware which operations to execute and how to process information.
An application, tool or package is a particular form of software, not a synonym for the whole concept. Software may be installed on a computer, embedded in a device, run from a server or used through the web.
Its complexity ranges from a utility that performs one task to systems that coordinate business processes, communications or critical infrastructure. Although it is not a physical component, it requires hardware for storage and execution.
Índice de contenidos
Origin and history of software
Early computers were prepared for each task through connections, switches, punched cards or tape. The development of stored-program computers made it possible to keep instructions in memory and change them without rebuilding the machine.
Assembly languages, compilers and operating systems subsequently separated programming from the physical details of each computer. This development supported the reuse of programs and led to desktop applications, embedded software, mobile apps, web services and cloud platforms.
Types of software
Software is commonly classified by the function it performs. Categories can overlap, but four groups provide a useful distinction:
- System software: Manages device resources and provides the foundation on which other programs run. It includes operating systems, drivers and system utilities.
- Application software: Performs tasks for a person or organisation. Word processors, browsers, design tools, video games and management systems are examples of applications.
- Development software: Is used to create, test and maintain other programs. It includes code editors, integrated development environments, compilers, debuggers and version control tools.
- Embedded software: Controls specific functions within devices such as routers, vehicles, appliances or industrial equipment. Some of this software is distributed as firmware and stored in non-volatile memory.
This classification describes function rather than licence or distribution. Freeware is provided without a usage fee, while open-source software allows its source code to be inspected, modified and redistributed under the terms of its licence. Software as a service, or SaaS, identifies a delivery and access model provided over the Internet.
Software examples
A single device uses several types of software at the same time. Common examples include:
- Operating system: Windows, macOS and Linux manage hardware and provide basic services to applications.
- Web browser: Google Chrome, Mozilla Firefox, Microsoft Edge and Opera interpret web content and allow people to interact with websites and applications on the Internet.
- Word processor: Microsoft Word, Google Docs and LibreOffice Writer create, edit and format documents.
- Spreadsheet: Microsoft Excel, Google Sheets and LibreOffice Calc organise data, apply formulas and produce charts.
- Email software: Microsoft Outlook and Mozilla Thunderbird are installable clients, while Gmail also provides a web application for managing messages.
Software also includes the program embedded in a router, a mobile app, an ecommerce platform or the system that controls industrial machinery. What differs is its purpose, execution environment and distribution method.
