FirmwareComputer hardware does nothing without a computer program guiding it. Firmware is basic software that is provided by the manufacturer of a computerized device. A computer or mobile device may be constructed with dozens of hardware components, each with their own firmware.
Operating SystemsAn operating system is a computer program that provides a standard environment for users and for running other computer programs. For example, linux, android, iOS and windows are operating systems.
ApplicationsAn application is any computer program that is written primarily for people to use. This includes broad categories such as office productivity, business software and media software.
Mobile AppsApplications written for mobile devices. These tend to be lightweight and may offload processing to cloud services.
Cloud ServicesCloud services are computer programs that work from data centers to provide services to devices such as phones, applications and systems. For example, a cloud service that provides weather data to a weather app.
SystemsSystems are computer programs that are primarily designed for automation as opposed as acting as a tool for people to use. For example, a payment system that performs transaction processing for purchases.
PlatformsPlatforms are environments for building systems and applications for the cloud or a particular device.
ServersServers are computers that provide services without being used directly by users. For example, a mail server that handles email for an office.
ClientsA program that connects to a server. For example, a web browser is a client that connects to web servers to request web pages and media.
Embedded SystemsEmbedded systems are computers and computer programs that are placed in everyday devices such as a vacuum cleaner or bottle of water.
Internet of ThingsInternet of things is a term for embedded systems that connect to the internet. For example, a smart television that records sounds in a room and sends them to a cloud service to interpret voice commands.
ScriptsScripts are languages that make it easy to write simple computer programs to automate things. For example, a graphic designer who writes a script that converts a large number of images from one format to another.
AutomationAutomation is a broad category of computing that does work and produces value. This includes the automation of physical work in areas such as robotics.
BotThe term bot is commonly used for lightweight automation such as players in games that aren't real people.
WorkflowWorkflow is a class of tools that combine human tasks with automation. For example, a system that assigns humans tasks such as reviewing a mortgage application that work together with automated steps such as informing a user of application status.
AlgorithmsAlgorithm is an term for code that solves a problem. This traditionally implied an elegant solution to a complex problem. However, the term algorithm is so commonly used now that it is essentially synonymous with code.
Artificial IntelligenceArtificial intelligence is a class of computer program that "learns" meaning that it tries to fit statistical models to data. This is a different type of software because its functionality isn't completely designed by humans but emerges on its own.
APIsAn API, or application programming interface, is software that is used for building software. These can be viewed as components, tools and services that make code easier to implement.
DataData related software such as an analytics platform that automatically discovers meaning in business data. For example, a tool that shows marketers how effective their promotional efforts have been.
GamesImmersive digital experiences that are fun or otherwise engaging.
Virtual RealityDigital experiences that are difficult to tell from reality including mixed reality whereby digital things are integrated into the real world and vice versa.
SummaryThe following are the common types of computer program.
OverviewComputer program is another term for software whereby instructions for computers are bundled together as a product such as a game, mobile app or system.
|Overview: Computer Program|
A collection of instructions that can be executed by a computer.