czy Ady naprawdę nie ma?


17
  • Czy ludzie nadal używają Ady - (była używana głównie w Departamencie Obrony)
  • Czy wszystkie aplikacje napisane w Adzie są „Legacy”?
  • Czy wiedza Ady wciąż się sprzedaje?

5
Przeczytaj to najpierw, zanim zapytasz : P: tiobe.com/index.php/content/paperinfo/tpci/index.html Jest bardziej popularny niż F # lub Asembler i faktycznie ma zgrabną składnię (IMO).
Job


1
@greenlit, deweloperzy Java na Ada mają obecnie około 20: 1. Aby dowiedzieć się więcej, spróbuj zeskanować oferty pracy. Jaki jest twój kąt tutaj? Czy chcesz znaleźć dobrze płatną pracę dla Ady?
Job

3
Jeśli chcesz używać go w ogólnej aplikacji, dlaczego popularność ma znaczenie? Czy planujesz dodać innych programistów?
JeffO,

1
@greengit patrz także stackoverflow.com/questions/1078043/why-didnt-ada-make-it - tak naprawdę to zrobiło, java spędzała większość czasu nadrabiając zaległości!
NWS

Odpowiedzi:


27

Czy ludzie nadal używają Ady - (była używana głównie w Departamencie Obrony)

Wygląda na to, że Ada została po raz ostatni zaktualizowana w 2005 roku i trwają prace nad Adą 2012 , więc sam język wciąż żyje i jest niesamowity.

Jeśli chodzi o użycie, Ada nie jest już upoważniona do używania w Departamencie Obrony. Większość pracy, którą widziałem i wykonałem, dotyczyła Javy, C i C ++, ale jest też wykorzystanie frameworku .NET, a nawet słyszałem o projektach obsługujących inne języki JVM, takie jak Scala, w zależności od tego, jak system będzie używany. W Adzie jest zapewne dużo kodu, więc nie zdziwiłbym się, gdyby było wiele powtórnego użycia i konserwacji. Biorąc pod uwagę charakter projektów obronnych, trudno jest podać konkretne liczby dotyczące ich wykorzystania.

Istnieje lista projektów i użytkowników Ada , ale wygląda na to, że ostatnia aktualizacja miała miejsce w czerwcu 2008 roku. Mogą tam być nowsze listy, ale nie mogłem szybko ich znaleźć.

Czy wszystkie aplikacje napisane w Adzie są „Legacy”?

Jeśli pytasz, czy jest nowa wersja Ady, nie zdziwiłbym się, gdyby nowe systemy były tworzone od podstaw w Adzie. Podejrzewałbym, że byłoby ich zbyt wiele, ale prawdopodobnie jest ich tam trochę. Podejrzewam jednak, że większość prac nad Adą polega na konserwacji lub aktualizacjach istniejących systemów, a nie na nowych projektach.

Czy wiedza Ady wciąż się sprzedaje?

Wiedza w czymkolwiek się sprzedaje, jeśli możesz znaleźć kogoś, kto szuka tego zestawu umiejętności. Nawet jeśli nie używasz Ady w fazie rozwoju, zauważyłem, że znajomość określonego języka lub frameworka zmieniła moje zdanie i sposób, w jaki używam innych języków lub frameworków. Podejrzewam, że znajomość Ady dałaby wgląd w inne metody projektowania i konstruowania oprogramowania również w innych językach.


5
Piszę nowe systemy w Adzie :)
NWS

1
C # i .NET są również używane w aplikacjach biznesowych napisanych przez kontrahentów obronnych.
George Stocker

@NWS: W pewnym sensie wygląda na to, że może zaoferować znacznie bardziej niezawodną weryfikację statyczną niż byłoby to możliwe w C. Jestem jednak ciekawy, w jakim stopniu pisanie podzakresowe faktycznie działa, aby zmniejszyć zależność od wielkości maszyny. Jeśli ktoś ma np. Dwie zmienne zadeklarowane jako typ 0..200 i chce sprawdzić, czy ich produkt jest większy niż 250, czy można po prostu porównać ich produkt do 250 i zagwarantować, że będzie działał, czy też nie powiedzie się kompilacja w przypadkach, gdy może się nie powieść lub może przejść kompilację, ale nie powiedzie się w czasie wykonywania, jeśli produkt przekroczy 32 767?
supercat

@ supercat Tak Sprawdzanie poprawności statycznej w Adzie jest bardzo dobre. Jeśli chodzi o konkretne zapytanie, prawidłowe użycie podtypów i typów modułowych do wytworzenia zakresów do przetestowania rozwiąże twoją zagadkę. Dostępne są również biblioteki do manipulacji bardzo dużą liczbą, które będą działać na maszynach 16/32 bitowych. Czytałeś już o systemie silnych typów w Adzie? Gdy nauczysz się, jak prawidłowo z niego korzystać, jest bardzo silny.
NWS

@NWS: Spojrzałem na definicję języka Ada połączoną ze stroną Wiki i chociaż znalazłem, gdzie mówi się o definiowaniu typów numerycznych, nie mogłem znaleźć dyskusji na temat ich interakcji z operatorami. Gdyby Ada wymagała typecastów podczas pracy na typach, które nie pasowały dokładnie, wydawałoby się to mniej niż pomocne, ale nie widziałem żadnych wskazówek na temat tego, co jest rzeczywiście wymagane. Gdybym projektował język, w wyżej wymienionym przypadku albo zapewniłbym, że porównanie zachowałoby się tak, jakby było oceniane z typem, który mógłby pomieścić do 40 000, albo ...
supercat


6

Ada jest nadal intensywnie używana w systemach wbudowanych w obronę, krytyczne zadania, krytyczne dla bezpieczeństwa, w czasie rzeczywistym.

Dlatego: pociągi, koleje, samoloty, kontrola ruchu lotniczego, satelity, systemy medyczne, elektrownie jądrowe itp.

ostatnie użycie Ada patrz: to


5

„Czy” użyto w departamencie obrony? Ostatnim razem, gdy sprawdzałem, nadal tak jest. Ada jest nadal tak samo przydatna jak każdy język do pisania nowego oprogramowania od zera. Wadą jest dostępność istniejącego oprogramowania do ponownego wykorzystania i adaptacji oraz dostępność programistów, którzy mogą ci pomóc. Można go jednak połączyć z programami C lub z podobnym interfejsem binarnym.

Ada najprawdopodobniej najbardziej idiomatycznie używa silnego pisania i ogólnego programowania w jakimkolwiek języku, jaki znam. To doświadczenie jest bardzo przydatne, nawet jeśli nie programuje się w Adzie.


1
Było to obowiązkowe dla projektów DoD, aż do późnych lat 90. (1997-1998, o ile dobrze pamiętam). Kod Ada wciąż istnieje, ale coraz więcej projektów jest budowanych przy użyciu C, C ++, Java, a nawet języki takie jak Python zaczynają robić postępy. Nie twierdzę, że nie jest używany - istnieje mnóstwo kodu Ady, który wciąż jest dobry i może być ponownie użyty, zmodyfikowany lub rozszerzony do projektów i tak jest. Ale niewiele nowych programów korzysta z Ady.
Thomas Owens

Zauważyłem, że szablony C ++ z automatyczną instancją funkcji szablonów są znacznie potężniejsze i „idiomatyczne” niż generyczne Ada.
kevin cline

1
@Kevin, idiomatic odnosi się do typowego sposobu używania, który określa język, a nie tego, jak „potężny” jest. Programiści c ++ nierzadko latami używają szablonów standardowych kontenerów bibliotecznych, ale nigdy nie definiują własnych. To niespotykane w przypadku programistów i generycznych Ady.
Karl Bielefeldt,

Pamiętaj, że mandat został uchylony, a nie jego wykorzystanie.
NWS

1

Zaryzykowałbym stwierdzenie, że jakikolwiek język, który był tak popularny i nie był specyficzny dla sprzętu w branży nietechnicznej lub rządzie, nigdy nie umrze w ciągu jednego pokolenia.

Firmy i podwójnie więc rząd ma zbyt wiele przepisów i innych problemów, by je ulepszyć, ponieważ coś jest stare. Wiele systemów w tym wieku i tak jest obsługiwanych wewnętrznie, więc argument braku wsparcia nie jest zgodny z tymi.

Odpowiedź Thomasa jest dobra w tym przypadku Ada będzie w pobliżu, dopóki wszystko oparte na technologii przed połową lat 90. nie zostanie zastąpione w wojsku, ale generalnie tego rodzaju pytanie zawsze daje taką odpowiedź, ponieważ języki, które miały okres znacząca masa krytyczna nigdy nie umiera całkowicie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.