Ada ( ˈeɪˑdə ) es un estructurado el, estáticamente mecanografiado, el imprescindible, y el lenguaje de programación de alto nivel orientado al objeto de la computadora . Fue diseñado original por un equipo llevado por el Jean Ichbiah de CII Honeywell-Bull bajo contrato al Departamento de Defensa de Estados Unidos durante 1977– 1983 para reemplazar los centenares de lenguajes de programación entonces usados por el Departamento de Defensa (DoD) de los E. El Ada trata algunas de las mismas tareas que el C o el C++, pero el Ada es el fuerte mecanografiado (incluso para la número-gama), y los recopiladores se validan para la confiabilidad en usos mission-critical, tales como software de la aviónica . El Ada es un estándar internacional; la versión actual (conocida como Ada 2005) es definida por el estándar de joint ISO/ANSI (ISO-8652: 1995), combinado con la enmienda importante 1:2007 del 8652:1995 /Amd de ISO/IEC.

Nombraron al Ada después del Ada Lovelace (1815-1852), que se acredita a menudo con la invención de la programación de computadora.

Características

Apuntaron al Ada original en los sistemas en tiempo real encajados y . El Ada  la revisión 95, diseñada por el S. Tucker Taft Intermetrics entre 1992 y 1995, mejoró la ayuda para la programación orientada al objeto (OOP) de los sistemas, numérica, financiera, y.

Las características notables del Ada incluyen: el mecanografiar fuerte, mecanismos (paquetes) de la modularidad, de comprobación Run-time, procesamiento en paralelo (tareas), dirección de excepción, y productos genéricos Ada  ayuda agregada 95 para la programación orientada al objeto, incluyendo el envío dinámico .

El Ada apoya cheques run-time para proteger contra el acceso a la memoria unallocated, errores del desbordamiento del almacenador intermediario, apagado por uno los errores, los errores del acceso del arsenal, y otros insectos evitables. Estos cheques se pueden inhabilitar en el interés de la eficacia runtime, pero se pueden compilar a menudo eficientemente. También incluye instalaciones para ayudar a la verificación de programa. Por estas razones, el Ada es ampliamente utilizado en los sistemas críticos, donde cualquier anomalía pudo llevar a las consecuencias muy serias, es decir, muerte accidental o lesión. Los ejemplos de los sistemas donde utilizan al Ada incluyen la aviónica, los sistemas armamentísticos (armas termonucleares incluyendo ), y la nave espacial .

El Ada también apoya una gran cantidad de cheques de tiempo de compilación para ayudar a evitar los insectos que no serían perceptibles hasta run-time en algunas otras idiomas ni requerirían cheques explícitos ser agregados al código fuente.

La gerencia de memoria dinámica del Ada es de alto nivel y tipo-explícita, requiriendo la particularización explícita del paquete de Unchecked_Deallocation a la memoria explícitamente libremente asignada. La especificación no requiere ninguna puesta en práctica particular. La semántica de la lengua permite sin embargo la colección de basura automática de objetos inaccesibles, la mayoría de las puestas en práctica no la apoya. El Ada apoya una forma limitada de la gestión de la memoria externa Región-basada . Los accesos inválidos se pueden detectar siempre en el tiempo de pasada (a menos que por supuesto se apaga el cheque) y a veces en de tiempo de compilación.

El sintaxis del Ada es simple, constante y legible. Reduce al mínimo opciones de maneras de realizar operaciones básicas, y prefiere palabras claves inglesas (eg. " OR") a los símbolos (eg. El Ada utiliza los símbolos matemáticos básicos (es decir: " +", " - ", " *" y " /") para las operaciones matemáticas básicas pero evita usar otros símbolos. Los bloques del código son delimitados usando palabras tales como " declare", " begin" y " end". También hace cumplir que cada declaración condicional sea cerrada. Por ejemplo, " del si entonces y de x > 0: = 0; " es inválido y debe ser cerrado con el " if" del extremo; ; es decir, " del si entonces y de x > 0: = 0; extremo del si ; " El análisis razonado es que el código para un sistema complejo debe ser legible por los revisores y los sostenes. Éste era también evitar el problema común de la ambigüedad si-otra en la gramática. Los revisores pueden incluir a los expertos del dominio que no son alto software que sabe leer y escribir. El código para los sistemas complejos es mantenido típicamente durante muchos años, por los programadores con excepción del autor original. Puede ser discutido que estos principios de diseño de la lengua se aplican a la mayoría de los proyectos de software, y la mayoría de las fases de desarrollo de programas, sin embargo cuando está aplicado al complejo, los proyectos críticos de la seguridad, ventajas en la corrección, confiabilidad, y la capacidad de mantenimiento toma precedencia sobre costes (discutibles) en el desarrollo inicial.

Desemejante de la mayoría de los estándares de la ISO, la definición de lengua del Ada (conocida como el manual.N-POS=30 de referencia del Ada del o el BRAZO del, o a veces el manual.N-POS=30 de referencia de la lengua del o LRM ) es el contenido libremente. Así, es una referencia común para los programadores del Ada, no apenas programadores que ejecutan recopiladores de Ada.N-POS=30 de referencia, hay también un documento de análisis razonado extenso que explica el diseño de la lengua y el uso de las varias construcciones de lengua. Este documento es también ampliamente utilizado por los programadores. Cuando la lengua fue revisada, un nuevo documento de análisis razonado fue escrito.

Historia

En los años 70, el número de diversos lenguajes de programación trató al Departamento de Defensa (DoD) de los E. que eran utilizados para sus proyectos, muchos cuyo eran obsoleto o hardware-dependiente, y ningunos del sistema informático encajada cuyo programación modular segura apoyada. En 1975 el grupo de trabajo (HOLWG) de la lengua de una orden más alta fue formado con el intento de reducir este número encontrando o creando un lenguaje de programación generalmente conveniente para los requisitos del departamento; el resultado era Ada. El número total de lenguajes el de programación de alto nivel funcionando para tales proyectos bajó sobre de 450 en 1983 a 37 antes de 1996.

El grupo de trabajo creó una serie de documents&mdash de los requisitos de lengua; el testaferro, el Woodenman, el Tinman, el Ironman y los documentos del productor de acero . Muchas idiomas existentes fueron repasadas formalmente, pero concluyeron al equipo en 1977 que ninguna lengua existente resolvió las especificaciones.

Los pedidos las ofertas para un nuevo lenguaje de programación fueron publicados y cuatro contratistas fueron empleados para desarrollar sus ofertas bajo nombres del rojo ( Intermetrics llevado por el Benjamin Brosgol ), del verde (CII Honeywell-Bull, llevada por el Jean Ichbiah ), del azul ( SofTech, llevado por Juan Goodenough), y del amarillo ( SRI internacional, llevado por el Jay Spitzen ). ¡ en abril de 1978, después de escrutinio público, las ofertas rojas y verdes pasaron a la fase próxima. En mayo de 1979, la oferta verde, diseñada por Jean Ichbiah en CII Honeywell-Bull, fue elegida y dada el Ada&mdash conocido; después del Ada de Augusta, condesa de Lovelace . Esta oferta fue influenciada por el de programación LIS del lenguaje que Ichbiah y su grupo habían desarrollado en los años 70.N-POS=30 de referencia preliminar del Ada fue publicado en avisos de ACM SIGPLAN en junio de 1979.N-POS=30 de referencia del estándar militar era aprobado el el 10 de diciembre, an o 80 ( cumpleaños de s de Lovelace Ada '), y dado el número MIL-STD-1815 en honor de año del nacimiento del Ada Lovelace.

En 1987, el Departamento de Defensa de los E. comenzó a requerir el uso de Ada (el mandato del Ada del ) para cada proyecto de software donde estaba más el de 30% el nuevo código del resultado, aunque las excepciones a esta regla fueron concedidas a menudo. Este requisito fue quitado con eficacia en 1997, pues el DoD comenzó a abrazar tecnología de las CHOZAS ( disponible comercial). Los requisitos similares existieron en otros países de la OTAN .

Porque el Ada es una lengua fuerte mecanografiada, se ha utilizado fuera de los militares en los proyectos comerciales de la aviación, donde un insecto de software puede significar fatalidades. El sistema del mandos eléctricos en el software de los funcionamientos de Boeing 777 escrito en el Ada. El sistema de tráfico aéreo automatizado canadiense (terminado en año-2000 por Raytheon Canadá) fue escrito en 1 millón de líneas de Ada (cuenta SLOC ). Ofreció (por el tiempo) procesamiento distribuido avanzado; una base de datos distribuida del Ada; y diseño orientado al objeto.

La lengua se convirtió en un estándar del ANSI en 1983 (ANSI/MIL-STD 1815A), y sin fomenta cambios se convirtió un estándar de ISO en 1987 (ISO-8652: 1987). Esta versión de la lengua se conoce comúnmente como Ada  83, a partir de la fecha de su adopción por el ANSI, pero se refiere a veces también como Ada  87, a partir de la fecha de su adopción por la ISO.

Ada  95, el estándar del empalme ISO/ANSI (ISO-8652: 1995) es el último estándar para el Ada. Fue publicado en febrero de 1995 (haciendo Ada  95 el primer lenguaje el de programación orientado al objeto del estándar de ISO). Para ayudar con la aceptación estándar de la revisión y del futuro, la fuerza aérea de los E. financió el desarrollo del recopilador del MOSQUITO . Actualmente, el recopilador del MOSQUITO es parte de la colección del recopilador del GNU.

El trabajo ha continuado en la mejora y la puesta al día del contenido técnico del lenguaje de programación del Ada. Una errata técnica a Ada  95 fueron publicados en octubre de 2001, y una enmienda importante, 1:2007 del 8652:1995 /Amd de ISO/IEC, fue publicada el el 9 de marzo, 2007 . ¡ La sección del código llamada una sección PRIVADA fue dada su nombre como broma para tener PIEZAS PRIVADAS, pero ida en demasiado de largo que se convirtió en parte de la documentación formal y era demasiado atrasado quitarla.

No hacer caso de esta historia. Se aplica a muchas idiomas. --Mario Amado-Alves -->

" ¡Hola, mundo! " en el Ada

Un ejemplo común del sintaxis de una lengua es el programa del mundo hola: lang=" del con Ada.Text_IO; el procedimiento hola es comenzar Ada.Put_Line (" ¡Hola, mundo! "); extremo hola;

Hay atajos disponibles para Ada.Put_Line, necesitando menos mecanografiar; sin embargo, no se utilizan aquí, para una mejor comprensión. Para una explicación detallada, ver el Wikibooks: Ada que programa/ básico.

Ver también

Clases particulares en línea

Los sitios siguientes tienen colecciones del acoplamiento a las clases particulares del Ada:
clase particular de Wikibook para programar en Ada
en AdaPower
en AdaWorld
en Computer-Books.us - Una colección de libros del Ada disponibles para la descarga gratuita.

Organizaciones

Cámara de compensación de la información del Ada
SIGAda - grupo de interés especial ACM en el Ada
Ada-Europa - organización europea para promover el uso del Ada

Recopiladores

AdaMagic - tecnología propietaria del Ada de SofCheck, incluyendo partes frontales del Ada 95, sistema run-time, y las herramientas; las partes frontales pueden generar IL convencional, ISO/ANSI C, o código del octeto de Java
MOSQUITO - recopilador libre basado en GCC
GNATPro - versión comercialmente apoyada del MOSQUITO de AdaCore
JGNAT - MOSQUITO - recopilador basado para el ambiente Runtime de Java
MGNAT - MOSQUITO - recopilador basado para el ambiente del marco .NET (proyecto de A# )
ObjectAda - recopilador de Ada propietario de Aonix
PowerAda - recopilador de Ada propietario de los sistemas OC
AdaMulti - recopilador de Ada propietario y entorno de desarrollo integrado del software de las colinas verdes
CUENTA - entorno de desarrollo integrado de la lengua multi propietaria de DDC-I, Inc. incluyendo un recopilador para el Ada como una de sus idiomas apoyadas
Ápice racional (ahora poseído y vendido por IBM) - recopilador propietario e IDE lleno

Herramientas


A# (puerto de A del Ada a la plataforma de Microsoft .NET,)
Aunit
Modo (Ada-Modo completo del Ada para el Vim,)
AdaAllegro (interfaz del Ada a la biblioteca allegro del juego)
AdaBrowse (Javadoc-como el generador del HTML para las especificaciones de la unidad de la biblioteca del Ada 95,)
AdaDoc ()
Heybeliada ()
AdaCL (biblioteca de la clase del Ada,)
AdaGIDE (entorno de desarrollo integrado del MOSQUITO de A libre del Ada para Windows)
Ada OpenGL ()
Atascamientos de El Cairo para Ada95 ()
AdaControl (ASIS_GNAT el inspector de la regla del Ada,)
Gnade (interfaz de base de datos del Ada,)
IDE completo del estudio (GPS) AdaCore programado del MOSQUITO, disponible en versiones libres y favorables
GNATCOM (Ada que ata para espec.)
GNAVI (Ada RAD visual)
GtkAda (Ada que ata para el GTK+ ,)
JGRASP (entorno de desarrollo ligero con las visualizaciones para mejorar comprensibilidad del software,)
OGLAda ()
PolyORB
QTAda (atascamientos más viejos del cuarto de galón para el Ada)
QT4ADA (atascamientos QT4 para el Ada,)
QtAda (atascamientos de una lengua Ada2005 a las bibliotecas del cuarto de galón,)
Inspector (herramienta de SofCheck de la detección de error estático,)
Ada (compiladores cruzados del tartán para el TI TMS320C3x y TMS320C4x DSPs)
TextTools (juego de herramientas Ncurses-basado de Ratón-Windows para el Ada,)
Revelador visual del Ada
XML/Ada y XML4Ada95
XIA/XPath en Ada (Ada que ata a espec.) Otra lista de los atascamientos del Ada se puede encontrar en.

Lenguajes de programación relacionados

CHISPA - alta lengua de la integridad basada en un subconjunto del Ada
VHDL - un idioma descriptivo de hardware para representar el hardware digital, con muchos conceptos y mucho sintaxis prestados del Ada.
El PL/SQL - lengua del procedimiento almacenado en producto RDBMS de s de Oracle Corporation ', tiene muchas semejanzas al Ada y fue basado históricamente en sintaxis del Ada

Otros

Altos sistemas de la integridad * perfil de Ravenscar
Comparación de los lenguajes de programación

.

  • Zenithic
  • Profiler (TV series)
    Random links:Condado de Hiiu | Carlos Méndez | Youri Djorkaeff | Barghe | Presa de Bagnell

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">