El objetivo es conseguir lenguajes expresivos y "matemáticamente elegantes", en los que no sea necesario bajar al nivel de la máquina para describir el proceso llevado a cabo por el programa, y evitar el concepto de "estado" del cómputo.