Si algunos de nuestros foros, manuales, ALDOS, paquetería o proyectos te han resultado de ayuda, apreciaremos mucho nos apoyes con un donativo.

Y a todo ésto... ¿Qué fué de Ada?

Ada, el lenguaje de programación, visualmente parecido a Pascal, apareció en la década de 1980 como una gran promesa que fué diluyendose. Sigue empleandose hoy en día, aunque comparativamente es uno de los que menos se usa. A qué se debe?

Ada Augusta King, Condesa de Lovelace, fue matemática, hija de Lord Byron y la autora del primer programa de computadora de la historia: un cálculo de la serie de números de Bernoulli. Se le reserva un lugar especial en la historia de las ciencias de la computación, incluyendo el bautizar a un lenguaje con su nombre.

El lenguaje Ada fue diseñado por un grupo de científicos, encabezados por Jean Ichbian, de 1977 a 1983 a petición del Departamento de Defensa de EEUU (DD). En esas épocas, el DD tenía muchos proyectos de software y estaban escritos en casi otros tantos lenguajes, por lo que había problemas de compatibilidad y confiabilidad. Había incluso proyectos que se cancelaban antes de llegar a entregarse. La idea de los militares fue clara: reducir los lenguajes utilizados y aumentar la capacidad de terminación en los que se usaran. Por lo tanto solicitaron un lenguaje que evitara errores desde la fase de compilación y que permitiera todas las cosas que se podían hacer en los ochentas. Este lenguaje sería declarado como el único que se podía usar en todos los proyectos de software del DD.

La siguiente parte de la historia la protagonizó Sir Charles Anthony Richard Hoare, conocido popularmente como Tony Hoare. Hoare realizó una implementación del lenguaje Algol en 1960 que se considera la mejor de su época. Participó en el diseño de Algol 68 e inventó el algoritmo Quicksort, entre otras de sus contribuciones, sin contar múltiples publicaciones. El 27 de octubre de 1980, recibió el premio Turing de la ACM y en su discurso de aceptación podía hablar del tema que quisiera. Escogió hacer un recorrido por su carrera, reflexionando en los aciertos y errores cometidos. Mencionó así, que no le gustaba la forma final que tomó Algol 68, que PL/1 era una locura como estaba pensado y concluyó advirtiendo sobre el gran peligro que significaba que se aprobara Ada para su uso en proyectos estratégicos militares, debido a que era enorme y a que esta enormidad escondería los problemas introducidos dentro del desarrollo. Una cita clave fue:

"Existen dos formas de hacer un desarrollo: hacerlo tan sencillo que es obvio que no habrá errores, o tan complicado que ningún error será obvio. La primera forma es mucho más difícil."

Con esta cita, acompañada de las críticas que otros especialistas de prestigio hicieron al proyecto Ada -Dijkstra y Parnas- comenzó a sellarse el destino de este lenguaje de programación. La rápida popularidad de C acabó de borrar sus posibilidades.

A muchos años de distancia es posible entender las razones de su falta de uso, tal como sus proponentes actuales las ven:

  • La advertencia de Hoare convenció a mucha gente, aún cuando se trataba de una versión inicial del lenguaje. Aunque se le hicieron muchos cambios, a pocos les interesó ya. Si Parnas, Dijkstra y Hoare lo criticaban, debían tener sus razones. Los problemas de diseño de PL/1 y de Algol 68 eran aceptados por muchos, así es que lo más probable es que Ada también los tuviera.
  • Los compiladores entonces eran pocos y muy caros. Nadie podría tener un compilador de Ada en una computadora personal, como para crear la base de programadores que tuvo C, así es que Ada llegó tarde al auge de las computadoras.
  • Existía una industria muy fuerte alrededor de herramientas para encontrar errores como los depuradores ("debuggers"). Un lenguaje que redujera radicalmente estos problemas no era rentable.
  • En su estándar de 1983, Ada no tenía objetos. Así es que cuando los tuvo, ya había llegado tarde a la programacion orientada a objetos.
  • El DD emitió una directiva de que todo proyecto de desarrollo para los militares tendría que estar escrito en Ada. A esta directiva se le conoce como "El mandato". Tuvo el efecto de parecer una imposición a casi todos los programadores, con lo que desarrollaron una resistencia a usar Ada.

Quién usa Ada hoy en día? Lo usan los militares, todavía, aunque la presión de C/C++ y Java han sido muy fuertes y "El mandato" fue relajado hacer mucho tiempo. El desarrollo WEB y su mezcla de lenguajes casi obligatoria también ha roto con el paradigma de usar un sólo lenguaje. Ah, y lo usa la Boeing, para el software de sus sistemas críticos a bordo de aviones y en su producción de las mismas aeronaves. Algunas empresas están usandolo por las mismas razones que Boeing: supuestamente reduce los errores en sistemas críticos.

A diferencia de los ochentas, hoy en día hay una versión GPL de un compilador de Ada, GNAT, que es parte de la colección de compiladores de GNU, con lo que también comienza a haber una pequeña base de desarrolladores que trata de explorar este lenguaje, del cual se dice que desagrada al principio, pero que se ven luego sus ventajas.

Quien quiera obtenerlo puede hallarlo aquí. Si alguien lo usa, tal vez pueda comentarnos cómo funciona a treinta años de su introducción.


Atención: Salvo que se indique lo contrario, la licencia del texto de este documento es Creative Commons Reconocimiento 2.5, mediante la cual usted tiene permitido copiar, modificar, comunicar y distribuir el contenido de este texto, de manera total o parcial, y publicarlo o difundirlo en cualquier otro sitio de Internet o medio de comunicaciòn, siempre y cuando incluya o cite (1)el nombre de este sitio de Internet, (2)enlace permanente de este documento, (3)nombre del autor y (4)la misma licencia de distribución.

Opciones: Imprimir | Recomendar | Enlace permanente

Twitter Facebook Google Bookmarks Bitacoras.com Wikio Menéame Technorati Bloglines Digg Yahoo Buzz

Seguimientos (Trackback)

URL de seguimiento para esta entrada:
http://www.alcancelibre.org/trackback.php/20120926105454836
Agregar comentario

Los siguientes comentarios son de la persona que los haya enviado. Este sitio se deslinda de cualquier responsabilidad respecto de las opiniones expresadas por los participantes en nuestros foros y secciones de comentarios, y el hecho de publicar las mismas no significa que se esté de acuerdo con éstas.