Sintaxis y semántica de los lenguajes de programación
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 4,78 KB
Los diseños para los lenguajes han ido evolucionando desde los años 50.
En la década de 1970 se: Ada, C, Pascal, Prolog y Smaltalk y 80’s como C++ y UML.
Identificar qué hacer con el programa. Proporcionar modelos de diseño que permitan caracterizar el desarrollo de aplicaciones utilizando un lenguaje de programación se necesita un lenguaje de modelado que sea capaz de capturar la semántica del modelo al que se ajusta el lenguaje de programación.
C, C++, Java, Pascal, etc. Son lenguajes de programación de propósito general
SQL, PROMELA, Actionscripts son lenguajes específicos
Propósito d un lenguaje.- Un lenguaje es diseñado para su aplicación en un área específica
Consideraciones preliminares.-
tomar en cuenta palabras reservadas, operadores, tipos de datos. Considerar el objetivo del lenguaje, lenguaje de enseñanza, si es un lenguaje para profesionales.
EFICIENCIA DE LOS LENGUAJES DE Programación.- Compilación rápida del código fuente y ejecución rápida del código objeto. Los factores fundamentales en la calidad del software son:
La eficiencia
Capacidad para el aprovechamiento óptimo de los recursos que emplea.
La portabilidad:
facilidad para ser ejecutados en distintos entornos lógicos o físicos.
La verificabilidad:
capacidad para soportar procedimientos de pruebas, test o ensayos.
La integridad:
nivel de protección frente a procesos que traten de alterarlo.
La facilidad de uso:
comodidad y claridad en la interacción con el usuario.
La exactitud:
nivel de precisión que alcanzan los resultados obtenidos.
La robustez:
capacidad para funcionar correctamente en situaciones extremas.
La extensibilidad:
capacidad para adaptar su funcionamiento al incremento en sus objetivos.
La compatibilidad:
facilidad de poder ser aplicados en conjunción con otros programas.
La reutilización:
posibilidad de utilizarlos (total o parcialmente) en nuevos contextos.
Independencia de la máquina:
el sistema debe ser accesible por todos ellos sin merma de prestaciones: Windows, MacOS y Unix.
SIMPLICIDAD.- Un lenguaje debe ser tan simple como sea posible.
Debe haber un número mínimo de conceptos con reglas simples para su combinación.
GENERALIZACIÓN Y ESPECIALIZACIÓN.- La generalización dice que algo similar también es correcto, pero es difícil de implementar.
Objetivo del lenguaje es servir de apoyo didáctico en lenguajes, intérpretes y compiladores.
Programación evolutiva consiste en un método de programación basado en un ciclo de prueba y error.
Un lenguaje sea efectivo en programación evolutiva tiene que facilitar: la interacción, la modificación del programa y aportar instrucciones de alto nivel cercanas al problema.
Estado de Interacción
Entre prueba y prueba es interesante guardar el estado de ejecución
Sintaxis Cercana al Problema
Es más efectivo escribir en una notación cercana al problema que adaptarse a la sintaxis de un lenguaje de programación.
El diseño detallado tiene que ver con la especificación de detalles algorítmicos.
Está fuertemente influenciado por el lenguaje de instrumentación, tiene que ver más con aspectos semánticos y menos con detalles sintácticos que es la instrumentación.
La instrumentación comunica los aspectos de la sintaxis del lenguaje de programación.
El diseño detallado permite el diseño de algoritmos y representaciones de datos en un nivel más alto de abstracción. Separa la actividad de diseño a bajo nivel de la instrumentación,
Caso de estudio: 1.- Explicar el lenguaje que se va a desarrollar en el curso. 2.- ¿Por qué se va a desarrollar (problemática)? 3.- Vocabulario del lenguaje (léxico palabras clases que hacen). 4.- Reglas de estructura (gramática, sintaxis). 5.- Semántica. 6.-Si existe código intermedio.