Ada è davvero andata?


17
  • Le persone usano ancora Ada - (era usato principalmente nel Dipartimento della Difesa)
  • Tutte le applicazioni sono scritte in Ada "Legacy"?
  • La conoscenza di Ada vende ancora?

5
Leggilo prima di chiedere a questo Q: tiobe.com/index.php/content/paperinfo/tpci/index.html È più popolare di F # o Assembly e in realtà ha una sintassi ordinata (IMO).
Giobbe


1
@greenlit, gli sviluppatori da Java a Ada sono attualmente circa 20: 1. Per saperne di più, prova a scansionare le offerte di lavoro. Qual è il tuo angolo qui? Speri di trovare un lavoro Ada ben pagato?
Giobbe

3
Se vuoi usarlo in un'applicazione generale, perché la popolarità è importante? Pensi di aggiungere altri sviluppatori?
JeffO,

1
@greengit vedi anche stackoverflow.com/questions/1078043/why-didnt-ada-make-it - in realtà ce l'ha fatta, Java ha trascorso la maggior parte del suo tempo recuperando!
NWS,

Risposte:


27

Le persone usano ancora Ada - (era usato principalmente nel Dipartimento della Difesa)

Sembra che Ada sia stato aggiornato l'ultima volta nel 2005 e ci sia lavoro per un Ada 2012 , quindi la lingua stessa è ancora viva e vegeta.

Per quanto riguarda l'uso, Ada non è più obbligatorio per l'uso nel Dipartimento della Difesa. La maggior parte del lavoro che ho visto e svolto è stato in Java, C e C ++, ma c'è anche l'uso del framework .NET e ho anche sentito parlare di progetti che eseguono altri linguaggi JVM come Scala, a seconda di come il verrà utilizzato il sistema. Probabilmente c'è un sacco di codice là fuori in Ada, quindi non sarei sorpreso se ci fosse un sacco di riutilizzo del codice e manutenzione in corso. Data la natura dei progetti di difesa, è difficile trovare numeri specifici sul suo utilizzo.

C'è un elenco di progetti e utenti Ada , ma sembra che l'ultimo aggiornamento sia stato nel giugno 2008. Potrebbero esserci elenchi più recenti là fuori, ma non sono riuscito a trovarne rapidamente.

Tutte le applicazioni sono scritte in Ada "Legacy"?

Se stai chiedendo se c'è un nuovo sviluppo di Ada, non sarei sorpreso se nuovi sistemi vengono scritti da zero in Ada. Sospetto che ce ne sarebbero troppi, ma probabilmente ce ne sono alcuni là fuori. Tuttavia, sospetterei che la maggior parte di Ada risolva problemi di manutenzione o aggiornamento sui sistemi esistenti, non nuovi sviluppi.

La conoscenza di Ada vende ancora?

La conoscenza in qualsiasi cosa vende, se riesci a trovare qualcuno che sta cercando quel set di abilità. Anche se non stai usando Ada in fase di sviluppo, ho scoperto che conoscere una lingua o un framework particolare ha cambiato la mia opinione e il modo in cui utilizzo altre lingue o framework. Sospetto che conoscere Ada ti darebbe un'idea di altri metodi per progettare e costruire software anche in altre lingue.


5
Sto scrivendo nuovi sistemi in Ada :)
NWS

1
C # e .NET sono utilizzati anche in applicazioni aziendali scritte da appaltatori della difesa.
George Stocker,

@NWS: In un certo senso sembra che potrebbe offrire una validazione statica molto più solida di quanto sarebbe possibile in C. Sono curioso, tuttavia, fino a che punto la tipizzazione subrange funzioni effettivamente per ridurre la dipendenza dalle dimensioni della macchina. Se si hanno ad esempio due variabili dichiarate come tipo 0..200 e si desidera verificare se il loro prodotto è maggiore di 250, si potrebbe semplicemente confrontare il loro prodotto con 250 e avere la garanzia che funzioni, o fallirebbe la compilazione nei casi in cui potrebbe fallire o potrebbe passare la compilazione ma fallire in fase di esecuzione se il prodotto supera 32.767?
supercat

@supercat Sì La validazione statica è molto buona in Ada. Per quanto riguarda la tua specifica query, l'uso corretto di sottotipi e tipi modulari per produrre intervalli da testare risolverà il tuo enigma. Ci sono anche librerie disponibili per manipolazioni di numeri molto grandi che funzionano su macchine a 16/32 bit. Hai letto sul sistema di tipo forte in Ada? Una volta imparato come usarlo correttamente è molto potente.
NWS,

@NWS: ho esaminato la definizione del linguaggio Ada collegata dalla pagina Wiki e mentre ho trovato il punto in cui parlava della definizione dei tipi numerici, non sono riuscito a trovare alcuna discussione su come interagivano con gli operatori. Se Ada dovesse richiedere i typecast quando si opera su tipi che non coincidono esattamente, sembrerebbe poco utile, ma non vedo alcuna indicazione di ciò che è effettivamente richiesto. Se stavo progettando la lingua, nel caso sopra menzionato mi assicurerei che il confronto si comporterebbe come se fosse valutato con un tipo che potesse contenere qualcosa fino a 40.000, oppure ...
supercat


6

Ada è ancora ampiamente utilizzato nei sistemi di difesa, mission-critical, critici per la sicurezza, in tempo reale e integrati.

Pertanto: treni, ferrovie, aerei, controllo del traffico aereo, satelliti, sistemi medici, centrali nucleari ecc

per un uso recente di ada vedi: questo


5

"È stato" usato nel dipartimento della difesa? L'ultima volta che ho controllato, lo è ancora. Ada è ancora fattibile come qualsiasi lingua per scrivere da zero un nuovo software. Uno svantaggio è la disponibilità di software esistente da riutilizzare e adattare e la disponibilità di programmatori per aiutarti. Tuttavia, può essere collegato con programmi C o con interfaccia binaria simile.

Ada ha probabilmente l'uso più idiomatico della tipizzazione forte e della programmazione generica di qualsiasi linguaggio che conosca. Questa esperienza è altamente vendibile anche se non è programmata in Ada.


1
Era stato incaricato di progetti DoD, fino alla fine degli anni '90 (1997-1998, se ricordo bene). Il codice Ada esiste ancora, ma sempre più progetti vengono creati utilizzando C, C ++, Java e persino linguaggi come Python stanno iniziando a farsi strada. Non sto dicendo che non sia usato - c'è un sacco di codice Ada là fuori che è ancora buono e può essere riutilizzato, modificato o esteso per progetti, e lo è. Ma non molto nuovo sviluppo utilizza Ada.
Thomas Owens

Ho trovato i modelli C ++ con l'istanza automatica delle funzioni dei modelli molto più potenti e "idiomatici" dei generici di Ada.
Kevin Cline,

1
@Kevin, idiomatico si riferisce a un tipico modello di utilizzo che definisce una lingua, non quanto "potente" sia. Non è insolito che i programmatori c ++ passino anni ad usare i template per i contenitori standard delle librerie ma non ne definiscano mai il proprio. Questo è inaudito con i programmatori e i generici di Ada.
Karl Bielefeldt,

Si noti che il mandato è stato abrogato, non il suo utilizzo.
NWS,

1

Mi azzarderei a dire che qualsiasi linguaggio che sia mai stato così popolare e non specifico per l'hardware nell'industria non tecnologica o nel governo non morirà mai in una sola generazione.

Le aziende e doppiamente il governo ha troppi regolamenti e altre preoccupazioni solo per l'aggiornamento perché qualcosa è vecchio. Molti sistemi di quell'età sono comunque supportati internamente, quindi anche l'argomento fuori supporto non vola con quelli.

La risposta di Thomas è buona in questo caso Ada sarà disponibile fino a quando tutto ciò che è basato sulla tecnologia prima della metà degli anni '90 è stato sostituito nell'esercito, ma in generale questo tipo di domanda si traduce sempre in questo tipo di risposta perché le lingue che hanno avuto un periodo di una massa critica significativa non muore mai completamente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.