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.



A ver si te vale... (none / 0) (#2)
por DopeRider a las Sun Sep 15th, 2002 at 05:51:22 PM CET
(Información Usuario)

Usenet.

[ Padre ]


 
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.



Un buen sitio para encontrar soft libre (y moderno (none / 0) (#4)
por fernand0 a las Mon Sep 16th, 2002 at 10:45:45 AM CET
(Información Usuario)

Sobre Ada: GNAT Libre Software Developers' Site. Hay un servidor web en Ada, el GtkAda, CORBA, XML, Gnome, ...
También existe la posibilidad de generar bytecodes para la JVM, con jgnat.
Por cierto, aunque su origen aparece como norteamericano, y militar, parece que los europeos han cogido la antorcha en este lenguaje.
En mi opinión lo que hace que Ada no avance son los prejuicios. Es cierto que es farragoso, pero no es mucho más farragoso que C++, o java.
Hay una lista de correo sobre Ada con muy poca actividad en castellano.
En el hispano hay un canal #ada también con poca actividad, aunque se nota que va aumentando el número de unis españolas que lo usan para aprender a programar.


[ Padre ]


 
Lenguajes funcionales (none / 0) (#6)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Mon Sep 16th, 2002 at 12:30:07 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

No conocí Haskell, sino Miranda -una prima hermana :)- y sinceramente son lenguajes que no pueden salir del ámbito de la docencia e investigación. Un lenguaje funcional puro no tiene iteración, sólo recursión, y hacer E/S sólo con técnicas recursivas es una pequeña pesadilla.

Te lo dice alguien que se implementó un reconocedor de gramáticas regulares. El programa escrito no era muy grande, pero ahí si que hay que ser estricto (y eso que el reconocimiento de tokens se presta a ello). No es lo mismo una recursión de cabeza, que de cola -el orden en que se trate el elemento, y se llame a la recursión SI afecta al orden de tratamiento de los elementos, y por lo tanto de entrada y salida de los mismos-.

Conclusión: no apto para espíritus pusilánimes. No se lo recomiendo a nadie.

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


 
El comentario original (none / 0) (#7)
por javiernoval a las Mon Sep 16th, 2002 at 06:52:35 PM CET
(Información Usuario)

Bueno, lo prometido es deuda, y aquí está la página a la que me refería. En cuanto a los otros comentarios, quería aclarar que yo ni ataco Ada ni ensalzo el Haskell, simplemente quería contar el punto de vista del autor del comentario, ya que me parecía que tenía razón en algunos puntos y que en este caso también eran aplicables.

[ Padre ]


Haskell (none / 0) (#9)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Mon Sep 16th, 2002 at 07:19:55 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

Tampoco quería atacar yo a tu comentario. Quería dar a entender que el caso concreto del éxito/no éxito de Haskell no está en que tenga poca comunidad, sino en que no puede ser un lenguaje generalista. Su comunidad es reducida por que lo es el paradigma (¡huy!) que implementa: programación funcional.

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


Pureza (none / 0) (#11)
por DopeRider a las Tue Sep 17th, 2002 at 12:34:35 AM CET
(Información Usuario)

Su comunidad es reducida por que lo es el paradigma (¡huy!) que implementa: programación funcional.

Quizás es que además son unos puristas que se cierran en torno a ese paradigma. Porque otros lenguajes de la misma familia como OCaml que no son "funcionales puros" parecen gozar de mayor popularidad.

[ Padre ]


 
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


Experiencia en el mundo de la empresa (none / 0) (#8)
por Anónimo a las Mon Sep 16th, 2002 at 07:02:43 PM CET

Vaya por delante que no sé apenas Ada, ni mucho menos he programado en Ada para el mundo real, pero si puedo hablar de las ventajas de la "infexibilidad".

La "inflexibilidad" hace lento el programar y cómodo el mantener y depurar. Lamentablemente, hoy en día la política de las empresas es "programa en plazos mínimos, aunque esté lleno de bugs".

No es una cuestión de falta de profesionalidad, es una cuestión de supervivencia. Si alargas los plazos, aumentas el presupuesto y la competencia se te pone por delante. No importa que a largo plazo tus costes sean menores si no sobrevives a corto plazo. Microsoft es el paradigma de esta estrategia.

Hoy en día lo que sobrevive tiene un nombre: "barato", sólo tienes que fijarte en tu propio comportamiento en el supermercado, es posible que en algún artículo tengas tus manías y estés dispuesto a gastar un poco más por calidad, pero en general escoges lo más barato. Lo mismo hace el cliente, consumidor de informática.

Normalmente trabajo en Delphi, que tiene sus más y sus menos, pero en general va bien. Seguir algunas políticas de codificación y diseño no va mal. Hay que saber encontrar el límite entre hacer las cosas a la buena de Dios, o hacerlas muy puristas... para dentro de cinco años.

Hay ciertas cuestiones de "inflexibilidad" que no son meramente académicas, son tremendamente útiles:
    Encapsular: centralizas el problema... y los bugs. Solo hay que tener cuidado con no pasarse.
    Reutilizar: Puede ser muy util pero es una parte peligrosa. Puedes perder mucho tiempo tontamente haciendo una abstracción de muchos casos, terminas no reutilizado nada y con un objeto que realmente son mil objetos que cubre muchos casos.
    Tipos Enumerados: Utilizalos y mucho.
    Subrangos: En pascal hay algo parecido, en general no son muy útiles, salvo para ahorrar memoria, (usar 1 byte en lugar de 4 para un entero). Suele ser suficiente validar los rangos en la entrada de datos por programa. Rara vez se producen bugs de rango durante el proceso de información si la entrada está bien validada.
    Punteros y demás: Los punteros son la peste de la programación, pero necesarios. En delphi está bastante bien resuelto, pero sigo preguntándome por que al crear un objeto en un procedure no puedo indicarle que se libere solito cuando finalice el procedure (bien o mal), o porque un objeto no puede liberar el sólito todos sus objetos dinamicos al liberarse (esto último está parcialemnte en Delphi con los owner) el recolector de basura no es tan mala idea, Jamie Zawinski, el creador del Mozilla, en este artículo defiende los recolectores de basura. No sólo sirven para ocultar la mala programación, sino que liberan al programador de pequeños detalles que pueden matar el programa (y a veces el sistema entero).


El hecho de que la sintaxis del lenguaje exija cierta "rigidez", en lugar de depender únicamente de que el programador se digne a aplicar la metodología, puede ser un punto a favor de un lenguaje.

[ Padre ]


De inflexibilidades (none / 0) (#10)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Mon Sep 16th, 2002 at 07:42:48 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

Llámalo malas prácticas cogidas de C, pero a mí por ejemplo que no se pueda hacer aritmética de punteros (para recorrer una zona reservada de memoria, por ejemplo) es algo me me molesta. Es un ejemplo de inflexibilidades que son incómodas para el que sabe lo que está haciendo. Para el que no lo sabe, puede ser un flotador salvavidas, pero lo considero anecdótico: se salva de ese error, pero ya caerá en otro.

Los lenguajes que se diseñan específicamente para aprender a programar corren el riesgo de no usarse más que aprender a programar. Esa es en mi opinión uno de los puntos que han hecho "fracasar" algunos lenguajes. Y en concreto, entre ellos, a Ada.

El mismo Pascal, si no fuera por Delphi, estaría casi igual de desaparecido. Y programar en Delphi tiene poco que ver con programar en Pascal. Si tuviera ahora que meterme con Delphi, dudo mucho que me sirvieran mis viejos conocimientos de Pascal. Seguramente me servirían bastante más mis conocimientos de un POO como C++.

Y respecto a la recolección de basura, es una auténtica cruzada entre dos "escuelas". Se lleva discutiendo enconadamente desde hace tiempo sin que se haya llegado a una Conclusión Satisfactoria(TM). Está más allá de mis conocimientos dilucidad qué opcion es mejor. Pero a mi intuición no le gusta el recolector de basura. Todo lo que funcione en mi programa autónomamente, sin control, es algo sospechoso. }:-)

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


Opiniones varias (3.00 / 1) (#12)
por DopeRider a las Tue Sep 17th, 2002 at 02:02:00 AM CET
(Información Usuario)

Me temo que no estoy de acuerdo con ninguno de los dos, que ya es difícil. A ver si puedo dar una explicación convincente del porqué.

He programado "unas cuantas" líneas de código con Delphi y aprendido a que me guste lo que estáis llamando "la rigidez". Pero yo nunca la llamaría así. Para mí es un "mecanismo de detección temprana". Me parecía muy cabreante que en CLIPPER o Java los "compiladores" te dejasen tragar muchas cosas... e incluso se ejecutasen bien, explotando una docena de instrucciones más tarde y soltando un volcado de "pila virtual". Si a la hora de compilar se "sabe" con toda seguridad que existe un error, ¿por qué me haces perder el tiempo con un ciclo compila-ejecuta-cagonlaleche?.

Pero dejarlo así es equívoco. Ni Delphi ni su antecesor TurboPascal (desde 1985) te impiden hacer cualquier tipo de burradas (léase typecastings de lo más variado, entre otras cosas). Yo las usaba bastante a menudo y hubiese mandado el lenguaje al peo, si no. Pero ¿es ésa la única razón de que esta línea haya tenido éxito a diferencia de sus primos (Modula, ADA, Oberón, etc.)?. Tampoco diría yo eso, porque además se suman:
  • Precio. En el 85 creo que TP 1 costaba $50. El precio de la versión elemental de Delphi era hasta la versión 5 de unos $200.
  • Ausencia de fallos graves
  • Entorno de desarrollo con depurador integrado muy usable. Si se le suma que el compilador es rapidísimo (unos cuatro millones y medio de líneas por minuto), la diferencia cuantitativa se hace cualitativa. Tengo Gentoo y ya quisiera que Linux se compilase a esa velocidad :-)
  • Librerías adecuadas para cualquier tarea necesaria.
  • Código nativo muy rápido.
  • Comunidad activa.
Así que parece que el éxito se forma haciendo muchas cosas bien a la vez. O no haciendo mal las que más joden. O quizás la clave sea todo eso y además estar en el sitio y momento adecuados para llenar una necesidad. Se explica de forma bastante amena en "Worse Is Better" (es el punto 2.1 de este doc). Es en cualquier caso un texto muy interesante para afilarse las entendederas :-)

Otra cosa que me gustaría matizar es que los distintos lenguajes de programación pueden tener utilidades muy distintas. C, Pascal, Ada (o sus variantes con objetos) son prácticamente todos el mismo lenguaje, con diferencias cosméticas.

Pero Perl, Lisp o la familia ML creo que son algo completamente distinto.

Lo digo porque no es lo mismo hablar de un recolector de basura para Lisp que para C o Pascal. A un lenguaje del nivel de Delphi no se le debe prohibir el manejo directo de la memoria. Lo que es idiota es no hacer que los objetos puedan opcionalmente ser variables de pila, que las hay en C++ y no pasa nada. Por otra parte, me parece que el mayor problema de un recolector es que esté mal hecho, que me temo que he visto al menos un caso.

Otras características también dependen del tipo de lenguaje. Por decir una obviedad: un lenguaje interpretado no necesita buenas herramientas para detectar fugas de memoria (a no ser que su recolector de basura sea una caca) o un depurador de código objeto.

En fin, que este tipo de análisis es muy complicado, porque depende de muchos factores. Personalmente me quedo con la respuesta: "un lenguaje no es popular porque no gusta a quienes podrían hacerlo avanzar".

[ Padre ]


 
Ada no se diseñó para aprender (none / 0) (#14)
por fernand0 a las Tue Sep 17th, 2002 at 11:12:41 AM CET
(Información Usuario)

"Los lenguajes que se diseñan específicamente para aprender a programar corren el riesgo de no usarse más que aprender a programar. Esa es en mi opinión uno de los puntos que han hecho "fracasar" algunos lenguajes. Y en concreto, entre ellos, a Ada."

Es la primera noticia que tengo sobre el diseño de Ada para aprender a programar. Lo que dices si que es posible que haya hecho que Pascal no haya llegado a ninguna parte; aunque algunos de sus derivados gozan (y han gozado) de buena salud. Por lo tanto, parece que lo que impidió que Pascal llegara a ningún sitio fue que se trataba de un lenguaje 'de juguete' que carecía de cosas importantes (en aquel entonces, principalmente, memoria dinámica).
Tienes razón al decir que a Ada le faltan bibliotecas; en realidad, si nos fijamos, los lenguajes que 'triunfan' no es por la calidad del lenguaje, sino normalmente por la existencia de un buen conjunto de bibliotecas que permiten hacer cosas habituales de modo sencillo, y aumentar eso que llaman productividad. Como dice alguien más arriba, normalmente se vende el producto y adiós que te vaya bien; a veces se solucionan las pegas y fuera.
Otra cosa es que Ada (o un subconjunto adecuado de Ada) sea un buen lenguaje para aprender: tipado fuerte, sintaxis regular, compilador disponible (y gratis) para muchos sistemas, portable, es un lenguaje 'de verdad' (no como Pascal, que si quieres hacer algo tienes que recurrir algún pariente 'próximo'), ....

[ Padre ]


Lenguajes de "verdad" (none / 0) (#15)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Tue Sep 17th, 2002 at 01:08:08 PM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

No, pero sí se ha utilizado para ese menester en las universidades. Esa es mi experiencia, y probablemente la de la mayoría de los que conocen el lenguaje Ada por estos lares.

En cuanto a lo de `lenguaje de verdad' me gustaría saber si consideras un lenguaje de verdad a Ada 83 -que es con el que yo aprendí, por ejemplo-, dejando Ada 9X -perdon, Ada 95- aparte.

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


Si, creo que si (none / 0) (#17)
por fernand0 a las Wed Sep 18th, 2002 at 12:08:36 PM CET
(Información Usuario)

Lo que me sorprende es que tú no lo consideres (si no, no tiene sentido la pregunta, igual estoy equivocado), y me gustaría saber por qué.
Mi experiencia con Ada83 es limitada: construí un pequeño simulador; si no recuerdo mal, ya se incluían paquetes genéricos y creación dinámica de tareas concurrentes.

[ Padre ]


 
Tampoco (none / 0) (#16)
por DopeRider a las Tue Sep 17th, 2002 at 05:25:25 PM CET
(Información Usuario)

Lo que dices si que es posible que haya hecho que Pascal no haya llegado a ninguna parte

¡Qué va!. Pascal fue un pelotazo. De hecho, murió de éxito. Como todo el mundo quería Pascal en su nueva plataforma ya, se inventaron la máquina virtual y el bytecode. ¿Cómo?, ¿que entonces se llamaban de otra forma?. Sí, pero eran exactamente lo mismo que el Java tiene ahora. Naturalmente, en aquellos tiempos (¿y en estos?) la sobrecarga era excesiva para las máquinas existentes y cayó la fama de la lentitud. Las implementaciones originales eran compiladas, pero tú cría fama...

Tampoco es verdad que faltara memoria dinámica. Era estándar desde Wirth.

Lo que sí faltaban por ejemplo eran las cadenas como tales (existían arrays de caracteres, pero no había librería estándar) y funciones potentes de consola. Cada fabricante añadió extensiones a su bola y fue un caos.

[ Padre ]


Nunca he sido un fan de Pascal (none / 0) (#18)
por fernand0 a las Wed Sep 18th, 2002 at 12:23:45 PM CET
(Información Usuario)

Lo del éxito no lo tenía claro. Para la crítica sobre lo que le faltaba a Pascal un artículo interesante es Why Pascal is not my favorite Programming Language. Lo lei hace bastante tiempo, y echándole un ojo ahora no estoy seguro de que tenga razón en todo.
Pero algún problema debía tener, si los que pensaban que Pascal era un buen lenguaje para la enseñanza 'evolucionaron' a cosas como Modula, y Oberón.

[ Padre ]


Prehistoria (none / 0) (#19)
por DopeRider a las Wed Sep 18th, 2002 at 07:00:50 PM CET
(Información Usuario)

Why Pascal is not my favorite Programming Language. Lo lei hace bastante tiempo, y echándole un ojo ahora no estoy seguro de que tenga razón en todo.

Para los que empezamos con TurboPascal no tiene razón en casi nada. La mayoría de las cosas que dice que no se pueden hacer, sí se pueden hacer con TP (desde la versión 1 de 1985). OK, TP no era un lenguaje estándar, pero eso es otra historia.

Otras cosas que presentan como defectos son en realidad ventajas, cuando se consideran con "objectividad".

Lo único en que estoy de acuerdo es la molestia de los "begin" en bloques. En TP fue una cuestión política. Ya existía Modula, en el que Wirth había corregido su fallo anterior. Sin embargo, "Pascal" seguía siendo un nombre más conocido que "Modula" y parece que Anders tiró por el lado comercial a la hora de pegarse a un estándar.

Pero algún problema debía tener, si los que pensaban que Pascal era un buen lenguaje para la enseñanza 'evolucionaron' a cosas como Modula, y Oberón.

Problema y gordo tenía el original. Era un lenguaje cuyo estándar era de juguete. No así las implementaciones comerciales, pero entonces el problema era la falta de un estándar fuerte.

Los creadores de C escarmentaron en cabeza ajena e implementaron una librería estándar suficiente (para la época).

[ Padre ]


Tu mismo lo dices (none / 0) (#20)
por fernand0 a las Thu Sep 19th, 2002 at 10:11:16 AM CET
(Información Usuario)

TurboPascal no es Pascal. Ni siquiera había compatibilidad hacia atrás en algunas de las cosas que fijaba el estándar de Pascal. Era una opción válida, en todo caso (luego vino Delphi, y goza de razonable salud). Además TurboPascal sólo existía para Windows (creo que para mac tampoco lo había, pero no podría confirmarlo). Súmale a la falta de un estándar completo la aparición de MS Pascal, con sus particularidades (¿cómo se llamaba, alguien lo recuerda?), y ya tienes el lío armado.

[ Padre ]


QuickPascal (none / 0) (#21)
por jcantero (jcantero@agujero-negro.escomposlinux.org) a las Thu Sep 19th, 2002 at 10:29:10 AM CET
(Información Usuario) http://www.escomposlinux.org/jcantero/

Si no recuerdo mal era QuickPascal. Estuve utilizandolo una temporada. Era muy similar al Turbo Pascal, excepto que no era 100% compatible.

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


fernand0 (none / 0) (#22)
por fernand0 a las Fri Sep 20th, 2002 at 10:30:24 AM CET
(Información Usuario)

O sea: tenemos Pascal, Turbo Pascal, y Quick Pascal. A eso me refería. Claro que en otros lenguajes ha habido la misma atomización (o más) y han gozado de éxito. Aunque creo que tenían estándares más amplios que el de Pascal. Pobre Pascal, tanto hablar de él en una historia sobre Ada ;)

[ Padre ]


 
¿Es malo? (none / 0) (#13)
por DopeRider a las Tue Sep 17th, 2002 at 03:12:34 AM CET
(Información Usuario)

Lamentablemente, hoy en día la política de las empresas es "programa en plazos mínimos, aunque esté lleno de bugs".

No creo que sea necesariamente malo un programa porque se haga rápidamente, ni que tenga que estar lleno de bugs. Me mosquea más lo de "barato". Lo barato es caro.

Le he estado dando muchas vueltas recientemente a saber qué falla con las herramientas de programación que uso.

Todavía tengo más preguntas que respuestas, pero cada vez veo más práctica la programación web, apoyada en un lenguaje flexible y potente.

Delphi es muy bueno para las interfaces de usuario, pero éstas ya no exigen tanta eficiencia. Con una máquina reciente y un navegador tienes el 90% de la funcionalidad y además multiplataforma.

Lo que marcaba la diferencia era el buen diseño visual, que venía a ser manejar un compilador de forma tanto o más cómoda que un intérprete. Por cierto que Borland quizás deba sacar otra vez Intrabuilder :-)

[ Padre ]


 
¿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