Un programa de aplicación permite a los usuarios realizar tareas específicas en cualquier campo mediante la automatización o asistencia. Suelen estar diseñados para resolver problemas específicos de manera potente, o incluir varias aplicaciones de forma integrada aunque con menos potencia individual. Los programadores de aplicaciones no necesitan conocer el hardware en profundidad, sino satisfacer las necesidades de información de sus aplicaciones usando el sistema operativo de forma independiente del hardware.