Mas allá de los lenguajes de programación
De la misma manera en que los lenguajes de alto nivel permitían que el programador escapara de las complejidades del orden de código de la máquina, los sistemas de programación de niveles más altos pueden proporcionar ayuda en la compresión y en la manipulación de sistemas y de componentes complejos. Es necesario que cambiemos nuestra atención alejándola de la especificación detallada de algoritmos y la dirijamos hacia la descripción de las propiedades de los paquetes y de los objetos con los cuales construimos. Una nueva generación de herramientas de programación se basará en la actitud de que lo que decimos en un sistema de programación debe ser principalmente declarativo y no imperativo: la razón de ser de un sistema de programación no es crear secuencias de instrucciones para llevar a cabo tareas (o ejecutar algoritmos), sino expresar y manipular descripciones de procesos de computación y de los objetos sobre los cuales de ejecutan.
Terry Winograd, Beyond Programming Languages (1979)
