1.4  Efectos del ambiente sobre los lenguajes.

El ambiente externo, que apoya la ejecución de un programa se llama su ambiente de operación.

El ambiente en que se diseña, codifica, testea y depura un programa, host environment, puede ser diferente del primero.

Hay cuatro clases de ambientes generales de operación:

1.4.1 Ambientes de procesamiento batch.

El ambiente más antiguo, y más simple, consiste sólo de archivos externos de datos. Un programa toma un cierto conjunto de archivos de datos como entrada, procesa los datos y produce un conjunto de archivos de datos de salida.

Lenguajes como FORTRAN, C y Pascal fueron inicialmente diseñados para ambientes de procesamiento batch, aunque hoy pueden ser usados en otros ambientes.

Efectos sobre el diseño de lenguajes.

Hay cuatro aspectos que grafican la influencia del ambiente sobre el lenguaje:

Características E/S.
Características de manejo de errores y excepciones.
Restricciones de tiempo.
Estructura del programa.

 

E/S: Los archivos son generalmente la base para la estructura E/S; no hay requerimientos interactivos ni accesos especiales a otros dispositivos E/S.
Manejo errores: En ambientes batch, un error que termina la ejecución de un programa es aceptable pero costoso, ya que a menudo debe repetirse la ejecución una vez que el error ha sido corregido.
Restricciones de tiempo: No hay restricciones de tiempo.
Estructura del programa: La estructura típica consta de un programa principal y un conjunto de subprogramas. El programador raramente tiene interacción con el programador durante el proceso de compilación.

1.4.2 Ambientes interactivos.

En un ambiente interactivo, el más común actualmente en PCs y workstations, un programa durante su ejecución interactúa directamente con el usuario.

Efectos sobre el diseño de lenguajes.

Manejo errores: La terminación de un programa en respuesta a un error es normalmente no aceptable.
Restricciones de tiempo: Un programa interactivo que opere muy lentamente, o que no responda a un cierto comando de entrada dentro de un tiempo razonable es considerado inútil.
Estructura del programa: El concepto de programa principal no existe. El programa es un conjunto de subprogramas con el usuario introduciendo el "programa principal" como una secuencia de comandos en el terminal.

1.4.3 Ambientes embutidos.

Manejo de errores: Cada programa debe estar preparado para manejar los errores internamente. El mecanismo para tratamiento de errores debe ser capaz de contabilizar las fallas de los componentes del sistema, además de las clases usuales de errores provocados por datos erróneos.
Restricciones de tiempo: Sistemas embutidos casi siempre operan en tiempo real, por lo tanto el procesamiento de entrada y la generación de las salidas debe hacerse en tiempos restringidos.
Estructura del programa: Un sistema embutido es a menudo un sistema distribuido, compuesto por más de un computador. Así, el programa está compuesto por un conjunto de tareas (tasks) que operan concurrentemente, cada una de ellas controlando o monitoreando una parte del sistema.

1.4.4 Ambientes de programación.

Este es el ambiente en el cual los programas son creados y testeados y tiende a influenciar menos el diseño de lenguajes que el ambiente de operación en el cual se espera ejecutar los programas.

Aquí se incluyen (como herramientas):

editores
depuradores
verificadores
generadores de datos de test
(impresoras)