Tareas en ADA
El último tema principal a ser introducido es tareas. Esto ha sido dejado para el final, no porque no sea importante, pero si porque, aparte de la interacción con excepciones, es una parte bastante...
La historia de Ada comienza en 1974 cuando el Departamento de Defensa de los Estados Unidos (DoD) se percató que estaba gastando demasiado en software. Se llevó a cabo un estudio detallado sobre la distribución de los costos y se descubrió que sobre la mitad de éstos estaba directamente relacionado con sistemas incrustados (embedded)
Se realizó un análisis de los lenguajes utilizados en diferentes áreas. Se descubrió que COBOL era el estandar para el procesamiento de datos y FORTRAN lo era para cálculos científicos y numéricos. Aunque estos lenguajes no eran modernos, el hecho que fueran uniformemente utilizados en sus respectivas áreas evitaba duplicaciones.
La situación con respecto a los sistemas incrustados era diferente. La cantidad de lenguajes utilizados era enorme. No sólo cada unidad militar tenía su lenguaje de alto nivel favorito, sino que usaban varios lenguajes assembler. En resultado era que había gastos innecesarios en compiladores y costos adicionales en entrenamiento y mantención debido a la falta de estandarización.
Se determinó que la única forma de controlar efectivamente los costos en los sistemas incrustados era estandarizar el uso de lenguajes de programación. El primer paso en esta dirección fue la generación de un documento en que se delineaban los requerimientos del lenguaje estandar. La primera versión (Strawman) fue publicada en 1975. Después de recibir comentarios de diversas fuentes el documento fue refinado (Woodenman). En junio de 1976 se produjo una nueva versión (Tinman). Este era un documento más específico e identificaba la funcionalidad que se requería del lenguaje.
En esta etapa se evaluaron varios lenguajes existentes respecto a la especificación Tinman. Como se podría esperar ninguno de éstos satisfacía totalmente los requerimientos; por otro lado la impresión general era que sería necesario crear un nuevo lenguaje basado en conceptos de vanguardia en el área de la programación.
Los lenguajes existentes fueron clasificados en tres categorías:
En este punto el documento de requerimientos fue revisado y reorganizado (Ironman). Se llamó a propuestas para el diseño del lenguaje. Se recibieron diecisiete propuestas de las cuales se eligieron tres para que “compitieran” en paralelo. Los cuatro elegidos fueron CII Honeywell Bull (verde), Intermetrics (Rojo), Softech (Azul) y SRI International (Amarillo). Los códigos de color se introdujeron para que la comparación se realizara anónimamente.
Los diseños iniciales aparecieron a comienzos de 1978 y fueron analizados por varios grupos alrededor del mundo. El DoD juzgó que los diseños Verde y Rojo eran más promisorios que los Azul y Amarillo y éstos últimos fueron eliminados.
Entonces, el desarrollo entró en una segunda fase y se dio a los desarrolladores un año más para refinar sus diseños. Los requerimientos también fueron mejorados a la luz de la retroalimentación recibida de los diseños iniciales (Steelman).
La elección final del lenguaje fue hecha el 2 de mayo de 1979 cuando el “lenguaje verde” desarrollado en CII Honeywell Bull por un equipo internacional liderado por Jean Ichbiah fue declarado ganador.
Entonces el DoD anunció que el nuevo lenguaje sería conocido como Ada en honor de Augusta Ada Byron, condesa de Lovelace (1815-1852). Ada, hija de Lord Byron, fue la asistente y mecenas de Charles Babbage y trabajó en su “máquina analítica”. En un cierto sentido ella fue la primera programadora de la historia.
Entonces el desarrollo de Ada entró a una tercera etapa, el propósito de la cual fue el que los eventuales usuarios hicieran sus comentarios respecto a que tan conveniente era el lenguaje para sus necesidades. Se continuó con otros estudios de los que se concluyó que Ada era un buen lenguaje, pero que en algunas áreas todavía se requerían algunos refinamientos. Después de esto (en julio de 1980) se publicó la primera versión definitiva del lenguaje y se la propuso a la ANSI (America National Standards Institute) como un estandar.
La estandarización por parte de ANSI tomó unos dos años y se le introdujeron algunos cambios a Ada. El Manual de Referencia del Lenguaje estandar de la ANSI fue finalmente publicado en enero de 1983. A esta versión del lenguaje se le conoce como Ada 83.
Tan pronto como se comenzó a utilizar el lenguaje se iniciaron los estudios para su mejora basada en la experiencia práctica de los usuarios con el lenguaje. A la nueva versión se le denominó Ada 9X, entre las principales mejoras hechas sobre la anterior se cuenta la incorporación de mecanismo de herencia en el manejo de tipos con que contaba Ada 83, el cual, a pesar de ser muy poderoso, al carecer de herencia herencia no se adecuaba al paradigma de Orientación a Objetos. A esta segunda versión de Ada se denomina actualmente como Ada 95.
Ada es un lenguaje grande en la medida que enfrenta la mayoría de los aspectos relevantes a la programación de sistemas prácticos en el mundo real. Por ejemplo, es mucho más grande que Pascal, el que a pesar de sus extensiones realmente sólo es adecuado para propósitos de entrenamiento (para lo que fue diseñado) y para programas pequeños. A continuación se enumeran las principales características de Ada:
El último tema principal a ser introducido es tareas. Esto ha sido dejado para el final, no porque no sea importante, pero si porque, aparte de la interacción con excepciones, es una parte bastante...
En este capítulo se describe el mecanismo genérico (generic) que permite parametrizar subprogramas y paquetes con tipos y subprogramas así como valores y objetos.
Una excepción es una situación que requiere de un tratamiento especial que escapa al funcionamiento normal de un programa (o parte de él). En los capítulos anteriores varias veces se ha indicado que si...
Estructura general de ADA En las secciones anteriores han sido descritas las características de Ada a pequeña escala. Lo visto del lenguaje hasta el momento difiere poco de otros lenguajes tradicionales, a pesar que...
En las secciones anteriores han sido descritas las características de Ada a pequeña escala. Lo visto del lenguaje hasta el momento difiere poco de otros lenguajes tradicionales, a pesar que Ada ofrece mayor funcionalidad...
En Ada existen dos tipos de subprogramas: funciones y procedimientos. Las funciones retornan un valor y son usadas en expresiones, mientras que los procedimientos no retornan valor y son llamados como instrucciones. Las acciones...
En esta sección se describirán los tipos compuestos, es decir, arreglos y registros. Además, con la introducción de los caracteres y strings se completará la discusión sobre los tipos de enumeración.
Ada tiene tres estructuras de control: if, case y loop. A pesar que estas tres estructuras son suficientes para escribir programas con claridad, el lenguaje también incluye la instrucción goto.
En este capítulo se echan las bases de los aspectos a pequeñas escala de Ada. Se comienza con la declaración de objetos, la asignación de valores a ellos y las idea de rango de...
Ciertamente no es muy agradable comenzar el estudio de un lenguaje con un tema tan árido como son los detalles de la construcción de cosas tales como identificadores y números, sin embargo ello es...
Uno de los aspectos más importantes en la programación es el reuso de partes de programas existentes para que el esfuerzo de generar nuevo código sea mínimo. Así el concepto de biblioteca de programas...
Comentarios recientes