Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
¿Qué fue del Ada?

Programación
Por svampa
departamento Especies-en-peligro-de-extinción , Sección Desarrolladores
Puesto a las Sun Sep 15th, 2002 at 04:43:01 PM CET

El Ada es un lenguaje de programación que fué promovido por el DoD (Departamento de defensa de EEUU). El objetivo era luchar contra el babel de lenguajes que utilizaba el DoD, tanto en logística, como en armamento inteligente, y utilizar uno sólo. Una vez diseñado, en 1987 ordenó que se usara siempre Ada, salvo para continuar grandes desarrollos ya empezados en otros sistemas.

Pero su uso apenas se extendió fuera del ejército. En 1997 revocó la orden, considerándolo un lenguaje más a escoger.

Pretendió ser el esperanto de los lenguajes de programación y falló incluso dentro del mismo DoD. ¿Por qué?

 


La verdad es que no conozco el Ada, he hecho alguna tontería de prueba y poco más. Para el que quiera probarlo, GNAT es un compilador libre, es el que he usado. Y En Adahome se pude encontrar mucha información subre Ada.

Por lo poco que he visto, el Ada es un lenguaje potente, con defectos y grandes virtudes, y que se ha utilizado en unos pocos grandes proyectos civiles. Sin embargo, a pesar de sus virtudes y del apoyo masivo del DoD, uno de los principales consumidores de software, prácticamente se ha extinguido. ¿Entonces a que se debe su falta de éxito ?

El Ada es un lenguaje hard typed, es decir, muy restrictivo con los tipos, eso de considerar que, al fin al cabo todo son bytes, no vale en Ada. No hay conversiones automáticas, ni siquiera convierte enteros a float automáticamente. Está muchiiiisimo más cerca del Pascal que del C. Dicho lo cual, uno puede forjarse una primera opinión según sus filias y fobias. En mi opinión eso es una virtud, una gran virtud, especialmente para grandes proyectos.

Es altamente portable, mucho más que el C, según comentaban en una revista de Linux (lo siento, no recuerdo ni en cual, ni el autor) implementó en su casa el programa en Ada sobre un linux, y luego en la universidad lo compiló sobre windows sin ningún problema (aunque habría que ver que tipo de programa era).

Esto se debe a que los compiladores se validan, es decir, deben compilar una batería de programas correctamente para ser reconocidos como compiladores Ada, y no existen extensiones ni mejoras fuera del estandard.

Sus estructuras de control de flujo se cierran cada una de una manera distinta if....end if -- loop...end loop -- procedure x.... end x Lo que considero una gran idea, comparado el begin...end que se usa para todos los bloques en pascal, con lo que a veces terminas mareado con los ends. Mejor no hablar de las llaves de C, la pesadilla.

Entre lo que considero sus defectos, está una nomenclatura absurda. Por alguna razón a los punteros, los pointer de todas la vida en todos los lenguajes, decidió llamarlos access. A los objetos Tagged type. No sí si es que querían diferenciarse de los otros lenguajes, o simplemente estaban borrachos.

Está implementada sintácticamente la multitarea, no es una librería externa, o una extensión especifica de un fabricante.

Entonces, si es tal dechado de virtudes ¿Por qué fracasó?, ¿o al menos tuvo tal falta de éxito?. Aunque se ha utilizado en algunos proyectos importantes y complejos, realmente no se ha popularizado. No es paradigma de los lenguajes de programación, como el C, no ha logrado sustituir al C, ni al C++.

La prueba más evidente de su fracaso, o al menos falta de éxito, es que las pocas páginas que hay en internet apenas se actualizan desde 1998, y gran parte de ellas se dedican a ensalzar el Ada frente al C, y a poner ejemplos de lo bien que ha funcionado en una lista de unos pocos grandes proyectos. Hay casi tanta información elogiando sus virtudes e intentando convencernos de que lo usemos, como información técnica.

Parece que el Ada, salvo algunas excepciones, jamás consiguió salir del ejército USA, apenas ha llegado al ámbito académico, y poco más. ¿por qué?

Se apuntan varias causas

1. Los compiladores eran demasiado caros.
Si, creo que es una buena razón, Nunca hubo un compilador ligero, como turbo pascal. Es un lenguaje muy complejo para que implementar un compilador sea una tarea trivial.

2. Un programa desarrollado en Ada es lento y ocupa mucha memoria.
Según dicen los los apóstoles del Ada, esa mala fama se la dieron los primeros compiladores, hoy en día es tan bueno como el C o el C++.

3. Se consideró que sólo lo usaba DoD
Una especie de efecto red al revés. Si mi único cliente potencial es el DoD, el único que lo usa, no vale la pena hacer compiladores ni herramientas, si no hay una buena y variada oferta de compiladores ni herramientas, nadie lo usa fuera del DoD.

4. Es un lenguaje farragoso
Hacer programas triviales con Ada es pesado, lo que hace que no haya una nueva generación de programadores que se inicien en él.

En general, se le considera un lenguaje inútil porque no lo usa nadie, y que para hacer cualquier cosa has de escribir El Quijote. Los hackers lo desprecian y dicen que es obvio que ha sido diseñado por un comité. No hay nada como una mala prensa para fracasar.

En mi opinión es un buen lenguaje. Pero a pesar de sus virtudes, el Ada está moribundo, y los proyectos que hoy en día existen, poco a poco irán cambiando de lenguaje. Personalmente, he curioseado en Ada, y no creo que le vuelva a echar otra ojeada, menos hacer nada serio con él.

< Merchandising: una fuente de financiación para KDE (4 comments) | Guía No Oficial del Hacker de OpenOffice (2 comments) >
Enlaces Relacionados
· ordenó que se usara siempre Ada
· En 1997 revocó la orden
· GNAT
· Adahome
· More on Programación
· Also by svampa

Encuesta
¿Que opinas del Ada?
· Una maravilla, una joya. No uso otra cosa 19%
· Excelente, pero si nadie lo usa, ¿para qué lo quiero? 32%
· Vaya un rollo de lenguaje 15%
· Lo odio. Una pesadilla 15%
· Ni lo sé, ni me interesa. 17%

Votos: 52
Resultados | Otras Encuestas

Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

Ver: Modo: Orden:
¿Qué fue del Ada? | 22 comentarios (22 temáticos, editoriales, 0 ocultos)
Ayuda de usuarios del Ada (none / 0) (#1)
por svampa a las Sun Sep 15th, 2002 at 01:18:57 PM CET
(Información Usuario)

Sería interesante que las personas que lo usan con cierta frecuencia, expusieran que compiladores,herramientas etc...usan. Y también porqué lo usan y en que áreas lo usan.

Un problema que me he encontrado es que el GVD, GNU visual debugger basado en el GDB me cuelga el sistema, el W95. Es posible que el problema esté en la librería GTK para Windows, un problema de versiones o algo así.

He ahí el quid de la cuestión, no sé donde consultar, donde preguntar, donde encontrar información, un troubleshoting o algo así. Por no saber, ni siquiera estoy seguro de si el GVD utiliza las GTK.

Hay demasiada poca información.



Similitudes (none / 0) (#3)
por javiernoval a las Mon Sep 16th, 2002 at 03:17:04 AM CET
(Información Usuario)

No hace mucho que leí un comentario sobre el Haskell (cuando vuelva a encontrar el link lo pondré, palabra :-)). En él se decía que era un lenguaje con muchas características deseables blah blah blah... pero que no estaba teniendo el éxito que tienen Python o Ruby, y el autor se preguntaba "¿por qué sucede esto?"
Pues justo a continuación ponía su respuesta. Python o Ruby se "venden" no solo como buenos lenguajes, sino como solución a los problemas, empaquetándose junto a muchos módulos útiles, mientras que la comunidad Haskell se limita a exponer las virtudes de su lenguaje. También decía que mientras que lo más reciente que Haskell ofrecía era Hugs98 (¿se escribe así?), los "otros" se actualizaban con bastante frecuencia.
En mi opinión algo así le sucede también a la comunidad Ada, tal y como se comenta en el artículo. Simplemente se centran en el lenguaje y se olvidan de mencionar los problemas que se pueden solucionar de forma más sencilla con Ada y no con otro lenguaje. Tampoco se encuentran fácilmente librerías para Ada (al menos yo no suelo encontrármelas).
En definitiva, que me parece que la situación actual del Ada es un lento agonizar. Los que están dentro, salen; y los que están fuera no quieren entrar. En esas circunstancias, es imposible que la comunidad de usuarios de Ada crezca, sólo puede reducirse... y si las cosas siguen así, poco a poco se llegará a la situación del Cobol, en que los gurús que quedan se tienen que dedicar mayoritariamente a hacer de embalsamadores.



Experiencia (none / 0) (#5)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Mon Sep 16th, 2002 at 12:17:33 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

Utilizábamos Ada para todas las asignaturas y prácticas de los 3 primeros años de carrera. Tenía una ventaja evidente -al menos en opinión del equipo docente-, y erar que no tenías que aprender, como antes un lenguaje por asignatura (para programación básica Pascal, para Ficheros y Bases de Datos, COBOL, para Programación Concurrente Modula-2, etc). Aprendías en primero un lenguaje y luego ibas viendo sus extensiones para concurrencia, tiempo real,... lo que fuera.

Como lenguaje docente, puede ser muy didáctico, porque te permite hacer pocas frivolidades y te encarrila en los buenos hábitos. Pero es inflexible, definitivamente inflexible. Una inflexibilidad que tampoco sirve para nada. A mí desde luego no me evitó tener que lidiar con bibliotecas -entregadas por los profesores- de funcionamiento pésimo y llenas de problemas. Lo que demuestra que en Ada se puede programar tan mal como en cualquier lenguaje. Así que ¿cómo justificar el overhead de características tan poco útiles como subtipos, subrangos, etc?

Por otro lado, la mayoría de problemas de programación de una aplicación "seria" provienen del uso de la memoria dinámica. En ese campo Ada no tiene muchas ventajas respecto a otros lenguajes. Es más, es bastante más farragoso de manejar. Lo único que se proporciona es el recolector de basura, herramienta que para mí muchas veces no es más que un enmascarador de mala programación.

Se dice que el que conoce un lenguaje está bien predispuesto a él, pero debo ser la excepción a la regla. Lo que sí puedo decir es que seguramente nadie de los que terminamos la carrera hayamos programado nada en Ada. Bastante difícil es salir de las 3 o 4 herramientas extendidas por el mercado como para tratar de convencer de usar Ada. Yo desde luego con lograr no terminar programando en Visual Basic me conformo.

--
"Papá, ¡Internet es más que una red pornográfica global!" -- Lisa Simpson


¿Qué fue del Ada? | 22 comentarios (22 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda