El software permite que el hardware funcione y desvincular al programador de los detalles del computador. Se divide en software de sistema, que hace posible la realización de tareas específicas y ofrece interfaces de alto nivel, y software de aplicación, que permite llevar a cabo tareas específicas en diferentes campos. El software de desarrollo, como los IDE, permite desarrollar programas usando herramientas como editores de texto, compiladores e intérpretes.