Escolar Documentos
Profissional Documentos
Cultura Documentos
Terrence W. Pratt
Lenguajes de Programación
● Claridad, sencillez y unidad: Un lenguaje de programación proporciona a la vez un
marco conceptual para pensar acerca de los algoritmos y un medio de expresar esos
algoritmos. El lenguaje debe constituir una ayuda para el programador mucho antes de
la etapa de codificación. Debe de proveer un conjunto claro, sencillo y unificado de
conceptos que se pueden usar como primitivas en el desarrollo de algoritmos, para
ello es deseable contar con un número mínimo de conceptos distintos cuyas reglas de
combinación sean tan sencillas y regulares como sea posible. Llamamos a este
atributo integridad conceptual.
La sintaxis de un lenguaje afecta la facilidad con la que un programa se puede escribir,
poner a prueba y más tarde entender y modificar. La legibilidad de los programas en
un lenguaje es una cuestión medular. Una sintaxis que es particularmente tersa o
hermética suele facilitar la escritura de un programa (para el programador con
experiencia) pero dificulta su lectura cuando es necesario modificarlo más tarde.
● Ortogonalidad: Un lenguaje debe de tener la propiedad de que las construcciones que
signifiquen cosas distintas se vean diferentes, es decir las diferencias semánticas
deberán reflejarse en la sintaxis del lenguaje. Consiste en que los distintos elementos
del lenguaje de programación se deben poder combinar entre sí sin que se creen
excepciones.
● Naturalidad para la aplicación: La sintaxis debe facilitar la comprensión de la lógica
subyacente del programa.
● El apoyo para la abstracción: El lenguaje deberá proporcionar herramientas que
faciliten la abstracción del programa tanto a nivel de datos como a nivel de datos.
● Facilidad para verificar los programas: Si el lenguaje dispone de herramientas de
depuración nos facilitará la correción de un programa.
● Entorno de programación: Si el lenguaje dispone de un entorno integrado (ejecución,
compilación, depuración..).
● Portabilidad de programas: La estandarización de los distintos lenguajes y la
independencia de la máquina sobre la cual se va a ejecutar el programa mejorará la
portabilidad.
● Eficiencia: Se define como hacer un buen uso de los recursos del sistema. Se puede
definir:
• Eficiencia en ejecución: Ocupación en memoria principal y tiempo que tarda en
ejecutarse en CPU.
• Eficiencia en traducción: Importante que el compilador transforme rapidamente
y eficientemente las instrucciones de alto nivel a bajo nivel.
• Eficiencia en el desarrollo: El lenguaje facilita la creación, prueba y puesta en
marcha de los programas, facilita el trabajo al programador.
• Eficiencia en el mantenimiento: Suele representar el 70% de costo de la
aplicación. Debe ser fácil de mantener para los programadores del sistema.