¿Ada se ha ido realmente?


17
  • ¿La gente todavía usa Ada? (Se usó principalmente en el Departamento de Defensa)
  • ¿Todas las aplicaciones están escritas en Ada "Legacy"?
  • ¿El conocimiento de Ada todavía vende?

55
Lea esto primero antes de preguntar esto Q: tiobe.com/index.php/content/paperinfo/tpci/index.html Es más popular que F # o Assembly, y en realidad tiene una sintaxis clara (IMO).
Trabajo


1
@greenlit, los desarrolladores de Java a Ada son actualmente de aproximadamente 20: 1. Para obtener más información, intente escanear las ofertas de trabajo. ¿Cuál es tu ángulo aquí? ¿Esperas encontrar un trabajo de Ada bien remunerado?
Trabajo

3
Si desea usarlo en una aplicación general, ¿por qué es importante la popularidad? ¿Planeas agregar otros desarrolladores?
JeffO

1
@greengit, consulte también stackoverflow.com/questions/1078043/why-didnt-ada-make-it - en realidad lo logró, ¡java ha pasado la mayor parte de su tiempo poniéndose al día!
NWS

Respuestas:


27

¿La gente todavía usa Ada? (Se usó principalmente en el Departamento de Defensa)

Parece que Ada se actualizó por última vez en 2005 y hay trabajo hacia un Ada 2012 , por lo que el lenguaje en sí sigue vivo y coleando.

En cuanto a su uso, Ada ya no está obligada a su uso en el Departamento de Defensa. La mayor parte del trabajo que he visto y realizado ha sido en Java, C y C ++, pero también se usa el marco .NET e incluso he oído hablar de proyectos que ejecutan otros lenguajes JVM como Scala, dependiendo de cómo Se utilizará el sistema. Probablemente haya mucho código en Ada, por lo que no me sorprendería si hubiera una gran cantidad de reutilización de código y mantenimiento. Dada la naturaleza de los proyectos de defensa, es difícil encontrar números específicos en cuanto a su uso.

Hay una lista de proyectos y usuarios de Ada , pero parece que la última actualización fue en junio de 2008. Puede haber listas más recientes, pero no pude encontrar rápidamente ninguna.

¿Todas las aplicaciones están escritas en Ada "Legacy"?

Si está preguntando si hay un nuevo desarrollo de Ada, no me sorprendería si se escriben nuevos sistemas desde cero en Ada. Sospecharía que habría demasiados, pero probablemente haya algunos por ahí. Sin embargo, sospecharía que la mayor parte del trabajo de Ada es mantenimiento o actualizaciones en los sistemas existentes, no nuevos desarrollos.

¿El conocimiento de Ada todavía vende?

El conocimiento de cualquier cosa se vende, si puedes encontrar a alguien que esté buscando ese conjunto de habilidades. Incluso si no está utilizando Ada en el desarrollo, descubrí que conocer un lenguaje o marco en particular ha cambiado mi opinión y cómo uso otros lenguajes o marcos. Sospecharía que conocer a Ada también le daría una idea de otros métodos para diseñar y construir software en otros idiomas.


55
Estoy escribiendo nuevos sistemas en Ada :)
NWS

1
C # y .NET también se utilizan en aplicaciones comerciales escritas por contratistas de defensa.
George Stocker

@NWS: De alguna manera, parece que podría ofrecer una validación estática mucho más robusta de lo que sería posible en C. Sin embargo, tengo curiosidad, hasta qué punto la escritura basada en subrango realmente funciona para reducir la dependencia del tamaño de la máquina. Si uno tiene, por ejemplo, dos variables declaradas como tipo 0..200, y desea probar si su producto es mayor que 250, ¿podría uno simplemente comparar su producto con 250 y garantizar que funcione, o fallaría la compilación en casos donde podría fallar, o podría pasar la compilación pero fallar en tiempo de ejecución si el producto supera los 32.767?
supercat

@supercat Sí La validación estática es muy buena en Ada. Con respecto a su consulta específica, el uso correcto de subtipos y tipos modulares para producir rangos contra los cuales resolverá resolverá su enigma. También hay bibliotecas disponibles para la manipulación de números muy grandes que funcionarán en máquinas de 16/32 bits. ¿Has leído sobre el sistema de tipo fuerte en Ada? Una vez que aprende a usarlo correctamente, es muy poderoso.
NWS

@NWS: Miré la definición del lenguaje Ada vinculada desde la página Wiki, y aunque descubrí dónde hablaba sobre la definición de tipos numéricos, no pude encontrar ninguna discusión sobre cómo interactuaban con los operadores. Si Ada requiriera tipos de letra al operar en tipos que no coinciden exactamente, eso parecería menos útil, pero no vi ninguna indicación de lo que realmente se requiere. Si estuviera diseñando el lenguaje, en el caso mencionado anteriormente me aseguraría de que la comparación se comportara como si se evaluara con un tipo que pudiera contener hasta 40,000, o bien ...
supercat


6

Ada todavía se usa mucho en defensa, misión crítica, seguridad crítica, tiempo real, sistemas integrados.

Por lo tanto: trenes, ferrocarriles, aviones, control de tráfico aéreo, satélites, sistemas médicos, plantas de energía nuclear, etc.

para un uso reciente de ada vea: esto


5

¿"Se" usó en el departamento de defensa? La última vez que lo revisé, todavía lo es. Ada sigue siendo tan viable como cualquier idioma para escribir un nuevo software desde cero. Donde está en desventaja es en la disponibilidad de software existente para reutilizar y adaptar, y la disponibilidad de programadores para ayudarlo. Sin embargo, se puede vincular con programas en C o con una interfaz binaria similar.

Ada tiene probablemente el uso más idiomático de la tipificación fuerte y la programación genérica de cualquier lenguaje que conozco. Esa experiencia es altamente vendible incluso si no se programa en Ada.


1
Fue obligatorio para los proyectos del Departamento de Defensa, hasta finales de la década de 1990 (1997-1998, si mal no recuerdo). El código Ada todavía existe, pero cada vez se construyen más proyectos utilizando C, C ++, Java e incluso lenguajes como Python están comenzando a incursionar. No digo que no se use: hay un montón de código Ada que todavía es bueno y puede reutilizarse, modificarse o ampliarse para proyectos, y lo es. Pero no mucho desarrollo nuevo utiliza Ada.
Thomas Owens

Encontré que las plantillas C ++ con creación de instancias de funciones de plantilla automáticas son mucho más poderosas y 'idiomáticas' que los genéricos Ada.
Kevin Cline

1
@Kevin, idiomático se refiere a un patrón de uso típico que define un lenguaje, no lo "poderoso" que es. No es raro que los programadores de c ++ pasen años usando plantillas para contenedores de biblioteca estándar, pero nunca definiendo los suyos. Eso es inaudito con los programadores y genéricos de Ada.
Karl Bielefeldt

Tenga en cuenta que el mandato fue derogado, no su uso.
NWS

1

Me aventuraría a decir que cualquier lenguaje que haya sido tan popular y que no fuera específico de hardware en la industria o el gobierno no tecnológico nunca morirá en una sola generación.

Empresas, y doblemente, el gobierno tiene demasiadas regulaciones y otras preocupaciones solo para actualizar porque algo es viejo. Muchos sistemas de esa edad tienen soporte interno de todos modos, por lo que el argumento de fuera de soporte tampoco vuela con esos.

La respuesta de Thomas es buena en este caso Ada estará presente hasta que todo lo basado en tecnología antes de mediados de los 90 haya sido reemplazado en el ejército, pero en general este tipo de pregunta siempre resulta en este tipo de respuesta porque los idiomas que han tenido un período de masa crítica significativa nunca muere por completo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.