-
Received: by 10.52.91.168 with SMTP id cf8mr2810227vdb.6.1349732881117; Mon, 08 Oct
2012 14:48:01 -0700 (PDT)
Received: by 10.52.91.168 with SMTP id cf8mr2810227vdb.6.1349732881117; Mon, 08 Oct
2012 14:48:01 -0700 (PDT)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!goblin1!goblin.stu.neva.ru!l8no31965271qao.0!news-out.google.com!r17ni
19qap.0!nntp.google.com!l8no31965259qao.0!postnews.google.com!glegroupsg2000goo
.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Mon, 8 Oct 2012 14:48:01 -0700 (PDT)
In-Reply-To: <k4v0re$c98$1@news.task.gda.pl>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.171.80.166;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 46.171.80.166
References: <3...@g...com>
<3...@g...com>
<k3idkc$ne3$1@node2.news.atman.pl>
<9...@g...com>
<k3spfr$46s$1@node2.news.atman.pl>
<8...@g...com>
<k3vo9p$u74$1@node2.news.atman.pl>
<f...@g...com>
<k3vuc2$4cl$1@node2.news.atman.pl>
<a...@g...com>
<k420pf$sch$1@node2.news.atman.pl>
<d...@g...com>
<k44n4u$drv$1@node2.news.atman.pl>
<8...@g...com>
<k462an$knn$1@node2.news.atman.pl>
<9...@g...com>
<k4ck0u$n3d$1@node1.news.atman.pl>
<6...@g...com>
<k4v0re$c98$1@news.task.gda.pl>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: Dlaczego software to F35 jest pisany w C++ a nie w Ada
From: Maciej Sobczak <s...@g...com>
Cc: Baranosiu <r...@w...pl>
Injection-Date: Mon, 08 Oct 2012 21:48:01 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:199766
[ ukryj nagłówki ]W dniu poniedziałek, 8 października 2012 19:00:36 UTC+2 użytkownik Baranosiu napisał:
> Jeśli potrzebowali wydajności, to mogli użyć wydajnego narzędzia,
>
> jeśli potrzebowali bezpieczeństwa, to nie powinni "wyłączać
>
> bezpieczników". Jeśli potrzebowali kompromisu, to trzeba było to co
>
> się da zaimplementować w Ada bez "wyłączania bezpieczników" a część
>
> wymagającą wydajności zrobić jawnie w czymś innym (C, ASM czy
>
> czymkolwiek innym).
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?
> Wtedy wiadomo, że to co w Ada ma swoje
>
> "bezpieczniki" a dodatkowe rzeczy trzeba sprawdzić jako osobne,
>
> niezależne moduły.
Nie różni się to niczym od sprawdzenia modułów z wyłączonymi bezpiecznikami. Nie
sprawdzono tego, więc równie dobrze nie sprawdzono by tych modułów, gdyby były
napisane w C.
> Projektanci chcąc pogodzić wydajność i niezawodność
>
> popełnili błąd mieszając kod wysokopoziomowy i niskopoziomowy w ramach
>
> jednego "klocka"
Chyba mieszasz pojęcia. Kod może być bezpieczny będąc niskopoziomowym. Poziom
abstrakcji i poprawność to dwie niezależne sprawy. Nie ma sensu mówić, że projektanci
pomieszali kod wysokopoziomowy i niskopoziomowy tylko na podstawie tego, że gdzieś
bezpieczniki były włączone a gdzieś wyłączone, bo poziom abstrakcji tych kawałków
mógł być niezależny (w szczególności mógł być taki sam).
> - kompromis nie zadziałał co jest chyba
>
> wystarczającym dowodem na to, że to był zły pomysł.
Nadal chyba nie czytałeś tego raportu. Przypomnę: ten kod został stworzony dla
poprzedniego modelu rakiety, gdzie był w 100% poprawny, bo działał w ramach innych
warunków technicznych. Przeniesiono moduł do nowej rakiety, która miała inne
prędkości i w ten sposób poprawny moduł stał się niepoprawny. To nie jest kwestia
kompromisów w kodzie, tylko błędu wdrożeniowego.
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. Program się wywala. Czy to był błąd programisty? Nie ma sensu rozwodzić się
and tym, czy właściwie pomieszałeś kod niskopoziomowy z wysokopoziomowym albo które
kawałki powinieneś napisać w C, bo nie tu powstał problem. Problem powstał przez złe
użycie gotowego i poprawnego w swoim oryginalnym kontekście modułu.
> Ślepa wiara w mechanizmy języka
> może sprowadzić na manowce, bo zawsze może pojawić się coś tak
> trywialnego, jak błąd w kompilatorze czy innym narzędziu i całe
> cudowne mechanizmy mające zapewnić niezawodność mogą przestać działać
Tak. I jaki z tego wniosek w kontekście tematu dyskusji (cokolwiek nim było)?
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 09.10.12 01:21 Baranosiu
- 09.10.12 10:17 Maciej Sobczak
- 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-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
- 2025-02-21 Warszawa => Key Account Manager (Usługi HR) <=
- 2025-02-21 Katowice => Senior Field Sales (system ERP) <=
- 2025-02-21 Chrzanów => Programista NodeJS <=
- 2025-02-21 Wrocław => Konsultant wdrożeniowy Comarch XL/Optima (Księgowość i
- 2025-02-21 Warszawa => Administrator Systemów Windows IT <=
- 2025-02-21 Wrocław => Specjalista ds. Sprzedaży (transport drogowy) <=