Este documento clasifica diferentes tipos de software según sus características principales. El software de programación permite crear otros tipos de software utilizando lenguajes de programación y controlar la lógica y comportamiento de las máquinas. Los sistemas dan soporte a otros programas y permiten interactuar con el hardware mediante el sistema operativo, controladores de dispositivos y programas utilitarios. Las aplicaciones se utilizan para tareas específicas como procesadores de texto y cumplen funciones más específicas que el software de sistema.