# Programación en Ada
## Prólogo

El objetivo de este libro es aprender a programar en el lenguaje Ada, desde sus características más sencillas hasta las más avanzadas. Ada es un lenguaje potente, pero no por ello es más complicado que Pascal, por poner un ejemplo.
Los prerrequisitos son: nociones generales de programación y experiencia en otro lenguaje. Aunque si aún no se sabe programar se puede complementar con la lectura de otro manual destinado a ello.
Hay dos maneras de leer este libro. Una es desde el principio hasta el final, siguiendo el orden establecido en el índice y en los encabezados de cada sección. Otra es utilizar los enlaces libremente para saltar a los temas de interés elegidos por el lector.

### Acerca de este libro

Este manual que se está editando ahora en Wikilibros, deriva del libro escrito por José Alfonso Malo Romero. Esa versión ya estaba licenciada según la GFDL, la misma licencia que usamos en Wikilibros.
El estado actual de desarrollo es: , lo que indica que aún hay trabajo por hacer. Recuerda que esto es un wiki: estás invitado a colaborar en la escritura de este libro. Es fácil, lee la bienvenida a los nuevos autores.
Si no quieres o no puedes contribuir pero quieres hacer sugerencias, como qué capítulos te gustaría ver más desarrollados o qué tema echas de menos, puedes hacerlo en la página de discusión.

### Ejemplos

El código fuente de los ejemplos de este libro puede descargarse y consultarse en github.org.

## Índice de contenidos

* Introducción
* Historia
* Manual de referencia
* Instalación
* Hola Mundo
* Elementos del lenguaje
* Tipos
** Enteros
** Enumeraciones
** Coma flotante
** Coma fija
** Arrays
** Strings
** Registros
*** Registros discriminados
*** Registros variantes
** Punteros a objetos
** Punteros a subprogramas
** Tipos derivados
** Tipos etiquetados (orientación a objetos)
* Subtipos
* Objetos (variables y constantes)
* Atributos
* Expresiones
* Operadores
* Sentencias y estructuras de control
* Subprogramas
* Sobrecarga
* Entrada/salida
* Pragmas
* Interfaz con otros lenguajes
* Cláusulas de representación
* Diseño y programación de sistemas grandes
** Paquetes
*** Cláusula use
*** Cláusula with
*** Paquete Standard
** Declaraciones, ámbito, visibilidad y renombrado
*** Declaraciones
*** Ámbito
*** Visibilidad
*** Renombrado
** La biblioteca Ada (unidades y subunidades)
*** Unidades de biblioteca
*** Unidades hijas
*** Subunidades
*** Compilación separada y dependiente
** Tipos abstractos de datos
** Tipos limitados
** Unidades genéricas
* Excepciones
** Paquete Ada.Exceptions
* Concurrencia
** Tareas
** Sincronización de tareas mediante puntos de entrada o citas (entry)
*** Aceptación de citas (accept)
*** Selección de citas (select)
*** Llamadas a punto de entrada complejas
** Tareas dinámicas: creación dinámica de tareas (tipos tareas)
** Dependencia de tareas
** Unidades protegidas
** Ejemplos de tareas
* Programación distribuida con GLADE
* Novedades de Ada 2005
* Unidades predefinidas
** Paquete System
** Paquete Ada.Strings.Fixed
** Paquete Ada.Strings.Bounded
** Paquete Ada.Strings.Unbounded
** Paquete Ada.Text_IO
** Paquete Ada.Text_IO.Editing
** Paquete Ada.Float_Text_IO
** Paquete Ada.Integer_Text_IO
** Paquete Ada.Sequential_IO
** Paquete Ada.Calendar
** Paquete Ada.Numerics
** Paquete Ada.Command_Line
** Paquete Interfaces
*** Paquete Interfaces.C
* Recursos en la Web
* Guía de estilo
* Todo el texto en una página, ideal para imprimir.

## Recursos de Ada en la Web

* Artículo de Ada en Wikipedia
* Wikibook de programación en Ada, en inglés
* Ada en opendirectoryproject.org, directorio de Internet, rama en español
* AdaPower.com
Más enlaces en Recursos en la Web

## Créditos y licencia

Los autores de «Programación en Ada» son:
* José Alfonso Malo Romero, por la versión 1.0.1 (2001 - 2002)
* Por la actual versión de es.wikibooks.org (2004-2005):
** Manuel Gómez (Contribuciones)
** Andrés Soliño (Contribuciones)
** Varios autores de «Ada Programming», por ciertos capítulos que han sido traducidos de ese libro (sus historiales así lo indican).
* Alvaro López Ortega, por la versión inicial de Programación en Ada/GLADE (2001).
Si quieres colaborar, sigue los consejos de «Cómo colaborar». Cuando hayas contribuido a la escritura del libro, añade tu nombre a la lista de autores.