Aspectos a considerar en el diseño de lenguajes de programacion

Páginas: 9 (2187 palabras) Publicado: 28 de febrero de 2011
Al diseñar lenguajes de programación a menudo es necesario tomar decisiones sobre las características que se incluyen de forma permanente, las características que no se incluyen pero que existen mecanismos que facilitan su inclusión y las que no se permiten.

Estas decisiones pueden afectar al diseño final del lenguaje y a menudo entrar en conflicto con otros aspectos del lenguaje.

Acontinuación se resumen algunos principios de diseño de lenguajes de programación:

• Concisión notacional. El lenguaje proporciona un marco conceptual para pensar algoritmos y expresar dichos algoritmos con el nivel de detalle adecuado. El lenguaje debe ser una ayuda al programador (incluso antes de comenzar a codificar) proporcionando un conjunto de conceptos claro, simple y unificado. La sintaxisdebe ser legible por el programador (o por otras personas que vayan a utilizar esos programas). Deben buscarse soluciones de compromiso entre lenguajes demasiado crípticos (por ejemplo, C) y lenguajes demasiado prolijos (Cobol, XSLT).

• Ortogonalidad. Dos características de un lenguaje son ortogonales si pueden ser comprendidas y combinadas de forma independiente. Cuando las característicasdel lenguaje son ortogonales, el lenguaje es más sencillo de comprender, porque hay menos situaciones excepcionales a memorizar. La ortogonalidad ofrece la posibilidad de combinar características de todas las formas posibles (sin excepciones). La falta ortogonalidad puede suponer la enumeración de situaciones excepcionales o la aparición de incoherencias. Un ejemplo de falta de ortogonalidad esla limitación que impone Pascal para que una función devuelva determinados tipos de valores.

• Abstracción. El lenguaje debe evitar forzar a los programadores a tener que enunciar algo más de una vez. El lenguaje debe permitir al programador la identificación de patrones repetitivos y automatizar tareas mecánicas, tediosas o susceptibles de cometer errores. Ejemplos de técnicas de abstracciónson los procedimientos y funciones, la generalidad, los lenguajes de patrones de diseño, etc.

• Seguridad. La fiabilidad de los productos software es cada vez más importante. Lo ideal es que los programas incorrectos no pertenezcan al lenguaje y sean rechazados por el compilador. Por ejemplo, los sistemas con chequeo de tipos establecen restricciones a los posibles programas que puedenescribirse en un lenguaje para evitar que en tiempo de ejecución se produzcan errores. Existen lenguajes como Charity que garantizan la terminación de sus programas [Charity].

• Expresividad. El programador debe poder expresar sus intenciones. En ocasiones, demasiada expresividad puede implicar falta de seguridad. De hecho, algunos sistemas limitan la expresividad para mejorar la fiabilidad de losprogramas (por ejemplo, laaritmética de punteros no es permitida en algunos lenguajes).

• Extensiblidad. El lenguaje debe facilitar mecanismos para que el programador pueda aumentar la capacidad expresiva del lenguaje añadiendo nuevas construcciones. En Haskell, por ejemplo, el programador puede definir sus propias estructuras de control.

• Portabilidad. El lenguaje debe facilitar la creaciónde programas que funcionen en el
mayor número de entornos computacionales. Este requisito es una garantía de supervivencia de los programas escritos en el lenguaje y, por tanto, del propio lenguaje. Para conseguir la portabilidad, es necesario limitar las características dependientes de una arquitectura concreta.

• Eficiencia. El programador debe poder expresar algoritmos suficientementeeficientes o el lenguaje debe incorporar técnicas de optimización de los programas escritos en él.

• Librerías e interacción con el exterior. La inclusión de un conjunto de librerías que facilita el rápido desarrollo de aplicaciones es una componente esencial de la popularidad de los lenguajes. Si no se dispne de tales librerías, es necesario contemplar mecanismos de enlace con otros lenguajes...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Introduccion al diseño de los lenguajes de programacion
  • Introduccionnal Diseño De Lenguajes De Programacion
  • Aspectos Que Se Consideran En El Lenguaje Escrito
  • Ensayo Diseño De Un Lenguaje De Programación
  • Introducción Al Diseño De Los Lenguajes De Programación
  • Elementos a considerar para un lenguaje de programacion
  • Aspectos del lenguaje
  • aspecto del diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS