¿Cuáles son las principales debilidades de Ada como lenguaje de programación?

Tenía la impresión de que GNAT era de hecho la implementación de referencia de facto de Ada desde Ada 95? Aunque sería bueno ver un front end de LLVM en el futuro cercano …

Creo que la principal objeción que tiene la mayoría de la gente es su rigor a menudo excesivo. Esto resulta muy útil en aviónica o sistemas de señalización de trenes, pero es muy molesto cuando todo lo que intenta hacer es codificar un editor de texto. (Yo diría que muchos desarrolladores web deberían considerar la codificación back-end en Ada por seguridad, pero nadie parece estar haciendo eso). Además, existe el hecho de que la definición del lenguaje es comparable en tamaño a una guía telefónica , lo que significa que hay mucho que tener en cuenta (posiblemente más de lo que cualquier persona promedio puede comprender), aunque, al igual que con los estándares C ++ y Common Lisp de gran peso, la mayor parte son bibliotecas estándar, no el lenguaje en sí.

En general, Ada es un lenguaje muy complejo que le da poco margen de maniobra para muchos aspectos del mismo. Para la mayoría de los desarrolladores, esto es una molestia innecesaria, pero para el dominio del problema para el que fue creado, es ideal.

Fracaso silencioso para tal código trivial. ¿Cómo pueden reclamar una alta integridad?

con ada.text_io;
use ada.text_io;
procedimiento de desbordamiento es
el procedimiento p (i: positivo) es
x: entero: = entero’último;
empezar
x: = (x + i) / 2;
put_line (integer’image (x) & “debería ser positivo”);
fin;
empezar
p (10);
fin;