Programacion de sistemas

Solo disponible en BuenasTareas
  • Páginas : 25 (6080 palabras )
  • Descarga(s) : 0
  • Publicado : 11 de noviembre de 2010
Leer documento completo
Vista previa del texto
Programación de Sistemas – Unidad II

INTRODUCCIÓN AL DISEÑO DE LOS LENGUAJES DE PROGRAMACIÓN
Son varios aspectos que están relacionados con un lenguaje de programación, el punto de vista de un programador profesional, el de un diseñador del lenguaje y el de la persona que implementa dicho lenguaje, considerando también los aspectos relacionados con el equipo de cómputo. El hablar de unprogramador, incluye importantes diferencias entre distintos niveles y aplicaciones de la programación. Diferencias que pueden ir desde el tipo de lenguaje que conoce hasta la aplicación que desee hacer con dicho lenguaje. Un programador de un lenguaje de programación es una persona o un grupo de personas que desarrolla un compilador o interprete para un lenguaje sobre una máquina particular o tipos demáquinas. Los lenguajes de programación se clasifican principalmente por nivel y por aplicaciones. Cada programador tiene un estilo propio de programación, la decisión de incluir u omitir ciertos tipos de datos es importante en la forma en que el lenguaje es usado así como omitir o utilizar ciertos conceptos de programación o modelos. Más adelante, se contemplaran las características que se debentener presentes al momento de diseñar un lenguaje de programación. Los lenguajes de programación son por lo tanto una solución de compromiso entre las necesidades del emisor (programador – persona) y del receptor (computador – maquina). C. Morris realiza una división del estudio de los signos (semiótica) en las siguientes partes:  Sintaxis: relación de los signos entre sí. (formato del lenguaje) Semántica: relación de los signos con los objetos a los que se aplican. (comportamiento de los programas)  Pragmática: relación de los signos con sus intérpretes. (técnicas empleadas en su construcción)

PRINCIPIOS DE DISEÑO
Una pregunta natural al estudiar los lenguajes de programación es si existe un lenguaje perfecto. Si existiese tal lenguaje, entonces sería importante identificar suscaracterísticas y no perder el tiempo utilizando lenguajes imperfectos. 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 menudoentrar en conflicto con otros aspectos del lenguaje. A continuació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 unconjunto de conceptos claro, simple y unificado. La sintaxis debe 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 ycombinadas de forma independiente. Cuando las características del 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 de ortogonalidad puede suponer la enumeración de situaciones excepcionales o la aparición deincoherencias. Un ejemplo de falta de ortogonalidad es la 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...
tracking img