-
Data: 2012-10-09 10:17:56
Temat: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu wtorek, 9 października 2012 01:21:28 UTC+2 użytkownik Baranosiu napisał:
> > I czym to coś różniłoby się od Ady z wyłączonymi bezpiecznikami? Jaki byłby zysk
z napisania tego kawałka w C?
>
> Taki, że nikt nie potraktowałby tego kawałka kodu narzędziami do Ady
No to bieda, bo ze względu na wsparcie ze strony języka narzędzia do Ady są znacznie
lepsze, niż narzędzia do C.
> (których wcześniej używał i go nie zawiodły, więc im ufał).
No właśnie. Dlaczego miałby nagle użyć innego narzędzia, któremu nie ufa?
> Sam
> pisałeś, że sprawa została w pewnym sensie zlekceważona (na zasadzie
> "wcześniej działało, to i teraz zadziała"), gdyby projektant wymusił
> napisanie tego od zera
No właśnie. Gdyby to napisano od zera, to być może uwzględnionoby nowe warunki
techniczne i wtedy nie byłoby problemu.
> i w innym języku
Pytam jeszcze raz: dlaczego w innym? Jaki byłby zysk z napisania tego w innym języku?
> (i co by nie mówić, to
> napisanie tego w C dało by zysk na szybkości i zajętości pamięci,
Skąd ta teza? Na jakiej podstawie tak twierdzisz?
Myślisz, że operacje na liczbach całkowitych zajmują w Adzie więcej cykli? Albo
więcej pamięci?
> to byłoby to gruntownie sprawdzone jako
> niezależny od reszty "klocek".
Oczywiście. Ale nie ma żadnych przesłanek (poza stereotypową wiarą w C), żeby ten
niezależny klocek robić w innym języku.
> W sumie nie jest ważne w jakim języku,
Ważne, bo języki różnią się w tym, jak wspierają programistę w osiąganiu określonych
celów. Gdyby się nie różniły, to mielibyśmy jeden język do wszystkiego.
> Zarządzanie projektem to nie tylko zarządzanie
> specyfikacjami itp., to przede wszystkim zarządzanie ludźmi, a ludzie
> to nie maszyny - jeśli system zarządzania projektem nie wymusza
> właściwych procedur postępowania i stosowania właściwych mechanizmów,
> to prędzej czy później znajdzie się ktoś, kto sobie "uprości" życie :D
Słusznie. Ale jak to wpływa na wnioski z tej dyskusji?
> > Coś w tym stylu: ktoś każe Ci napisać program, który dodaje liczby z zakresu od 0
do 100. Da się. Potem gość bierze ten gotowy program i wrzuca do niego liczby
większe, niż 100.
[...]
> Moduł nie jest poprawny czy niepoprawny sam z siebie, a jedynie w
> kontekście danych jakie przetwarza.
Bingo. Ten konkretny moduł był poprawny w kontekście danych, do przetwarzania których
został stworzony. Programiści wypełnili swoje zadanie bez zarzutu.
> Nie pisz, że moduł był poprawny,
> bo nie był
Dlaczego nie był? Mógł być w 100% poprawny i zgodny z oryginalną specyfikacją.
> to tak jak ja bym powiedział, że buty które mam w szafie
> są ok, bo chodziłem w nich jak miałem 5 lat i działały bez zarzutu, a
> że teraz mam 36 lat to tylko drobny szczegół (buty oczywiście mogą
> nadal działać w kontekście innego 4-latka, ale w moim już nie działają
> poprawnie).
Masz w szafie poprawne buty. Możesz mieć też głupi pomysł, żeby je dzisiaj założyć,
ale buty nadal są poprawne w kontekście użycia przez dziecko, lat 5.
> > I jaki z tego wniosek w kontekście tematu dyskusji (cokolwiek nim było)?
> Nie twierdzę, że
> to wina Ady jako języka, to wina człowieka, który za bardzo zaufał
> istniejącemu kodowi oraz mechanizmom wykrywania błędów zawartymi w
> języku.
I nadal nie wiem, jaki z tego wniosek. Że systemy sterowania rakietami należy pisać w
językach, które nie wspierają programisty w osiąganiu poprawności, bo dzięki temu nie
będziemy im ufać i przez tą większą podejrzliwość i czujność będziemy łatwiej
znajdywać w nich błędy? I nigdy nie wsadzimy do nowej rakiety starego komputera?
A może nie zapinajmy w samochodzie pasów bezpieczeństwa i w ogóle jeździjmy nocą bez
świateł - wtedy będziemy bardziej uważać a nie rozleniwiać się złudzeniem uzyskanego
tanio bezpieczeństwa. Tak?
> Kwestia indywidualnego podejścia, ja wolę wybierać odpowiednie
> narzędzia do rozwiązywanego problemu,
No właśnie. To jakie narzędzie jest odpowiednie?
Bo z tej dyskusji nadal nie wiem.
> Każdy ma prawo mieć swoje zdanie
Oczywiście.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 09.10.12 15:18 M.M.
- 09.10.12 17:11 Baranosiu
- 09.10.12 23:09 Maciej Sobczak
- 24.10.12 00:32 Marcin Kowalczyk
- 24.10.12 09:59 Maciej Sobczak
- 24.10.12 18:38 Baranosiu
- 25.10.12 09:45 Maciej Sobczak
- 25.10.12 18:21 Baranosiu
- 27.10.12 09:05 Maciej Sobczak
- 27.10.12 16:53 Baranosiu
- 29.10.12 10:40 Maciej Sobczak
- 29.10.12 12:01 Baranosiu
- 29.10.12 15:56 Maciej Sobczak
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-02-22 spalinki
- 2025-02-22 Warszawa => Presales Engineer IT <=
- 2025-02-22 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-02-22 Spalinki:)
- 2025-02-23 Useme
- 2025-02-22 Drogie mieszkania, drogie kredyty i ogromne zyski banków. Czy rząd ma rozwiązanie?
- 2025-02-21 Warszawa => Key Account Manager IT <=
- 2025-02-21 Warszawa => Data Engineer (Tech Lead) <=
- 2025-02-21 Aliexpress zaczął oszukiwać na bezczelnego.
- 2025-02-21 Warszawa => System Architect (Java background) <=
- 2025-02-21 Kula w łeb
- 2025-02-21 Warszawa => System Architect (background deweloperski w Java) <=
- 2025-02-21 Warszawa => Solution Architect (Java background) <=
- 2025-02-21 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-02-21 Pawel S