Świętowit napisał(a)
Harriera ogranicza wiele koncepcji wynikających ze słabości ówczesnej elektroniki, m.in. jej mocy obliczeniowej.
Dokładnie. W ogóle teraz informatyka pełni ogromną rolę w amerykańskim wojsku. Ciągle pracują nad zintegrowanym systemem wymiany informacji na polu walki. Dzięki niemu, wlatujący po zboczu wzgórza śmigłowiec będzie mógł wyszukać znajdujące się w pobliżu klasyczne samoloty, UAV, a nawet pojedynczych żołnierzy, i automatycznie uzyskać z nich informacje na temat sytuacji taktycznej po drugiej stronie szczytu. To może mieć ogromne znaczenie, podobnie jak odpalanie rakiet do tyłu, widzenie przez podłogę kokpitu itd. W przypadku pionowego lądowania, stabilizacja powinna znacznie podnieść poziom bezpieczeństwa
Zobaczymy jak te hity sprawdzą się w warunkach bojowych, po wdrożeniu. Ale historia uczy, że sporo z tych nowinek staje się standardem. Bo są skuteczne. Niedawno przecież krążownik rakietowy systemu Aegis zniszczył rakietą satelitę, który niby wyrwał się spod kontroli. Przechwycenie nastąpiło na 240 km. Równie dobrze zamiast satelity mógłby tam być pocisk balistyczny. Tu też spore znaczenie miały systemy informatyczne. Rakiety używane przez te krążowniki niszczą cel swoją energią kinetyczną, tj. muszą się z nim zderzyć przy prędkości 28 000 km/h. Nie chcesz mieć tu zbyt wielu błędów numerycznych ;).
Świętowit napisał(a)
Tylko mi nie mów, że 'efekty specjalne' w nowoczesnych myśliwcach zawdzięczamy C++
Jak zapewne zauważyłeś, starannie unikałem takiej wypowiedzi :P. Niemniej jednak twórcy softu dla F-35 wybrali C++. Pytanie brzmi, co o tym wyborze sądzą poszczególni programiści. Tego się pewnie nigdy nie dowiemy.
Świętowit napisał(a)
W praktycznie każdym języku da się tworzyć bezpieczne oprogramowanie wysokiej jakości [...] Weźmie się świetnych designerów, programistów etc. to język ma drugorzędne znaczenie
To fakt, choć użycie właściwego języka do właściwego celu zdecydowanie się opłaca. Ci kolesie co "napisali F-35" ;) na pewno wiedzieli co robią i nie byli "klepaczami kodu". Dobry programista potrafi jednak dokonać właściwego doboru języka. Czy ci tutaj wzięli C++, bo w nim byli superdobrzy, żadnego innego nie znali, a chcieli koniecznie zgarnąć ten projekt? Czy ktoś z Ministerstwa miał zadzwonić do jakiegoś uber-przypakowanego speca od języków i zadzwonił akurat do Bjarne'a, który oczywiście polecił C++? Czy może faktycznie im wyszło, że C++ się będzie lepiej nadawał niż inne języki?
Świętowit napisał(a)
[...] po prostu w C++ (nawet mocno obciętym) trzeba na cholerną ilość rzeczy uważać [...] Tak patrząc z boku to wygląda jakbym toczył krucjatę przeciwko C++, a tak nie jest... póki co.
W tej Twojej krucjacie, która krucjatą jeszcze nie jest, zgadzamy się w paru sprawach dotyczących C++. Ja tam staram się walczyć/ostrzegać ludzi przed stwierdzeniami typu "C++ nie jest trudny". W porównaniu do czego? Nauka całego C++ nie jest trudna w porównaniu ze zbudowaniem rakiety kosmicznej w pojedynkę? OK, tak można powiedzieć. Ale w porównaniu z innymi językami, C++ ma tyle "bajerów", zawiłości, tyle niezdefiniowanych zachowań i dziwadeł, że... szkoda gadać.
Niemniej jednak uważam, że przy dużej dozie samodyscypliny, egzekwując zasady podobne do tych z programu JSF, można uzyskać czytelny, dobry kod. Taki, w którym nawet wiadomo o co chodzi gdy się na niego spojrzy.
O ile rozumiem, Ty uważasz, że nawet wtedy korzystanie z C++ jest bez sensu i że lepiej po prostu wziąć inny język. Prawdopodobnie masz ode mnie w CPP o wiele większe doświadczenie, więc pozostaje mi tylko... może nie od razu potraktować to jako bezwzględną prawdę, ale jako ważną opinię.
Świętowit napisał(a)
Wybór czegoś niskopoziomowego z wysokopoziomowymi aspiracjami do rzeczy krytycznych jest ryzykowny, zwyczajnie zbyt wiele rzeczy można spierniczyć.
Bjarne mówi, że to siła C++. Ja twierdzę podobnie jak Ty. C++ obsługuje różne paradygmaty i jest bardzo potężny, ale... W porównaniu do innych języków, daje programiście ogromną liczbę możliwości strzelenia sobie w stopę. Na różne sposoby. I to tak, że strzał oderwałby nam nie tylko stopę, ale całą nogę. Gdzieś tak od szyi w dół.