-
Data: 2019-10-06 23:21:54
Temat: Re: POpularno?? j?zyk?w programowania ??
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]> > No więc - skoro już poprawiliśmy tą naszą funkcję, to jaka jest wartość dodana z
użycia kilku kolejnych kompilatorów?
>
> Bardzo prosta. Twój kompilator w poprawnej funkcji dodawania przypadkiem
> zrobił mnożenie kiedy x=15 i y=90.
To wychodzi w pokryciu kodu obiektowego.
> Shit happens.
Nie, nie happens.
Tzn. może są firmy, gdzie happens i się nie bada pokrycia (tak, tak, teraz ja sobie
dorabiam, dla równowagi do Twoich teorii, że w Ariane 5 nie było testów), ale tam
gdzie widzę, bada się i nie happens.
> Czasem to tylko mignie
> szybciej diodą a czasem wyśle samolot w kierunku gruntowym.
Nie było przypadku, żeby samolot poleciał w kierunku gruntowym przez to, że użyto
jednego kompilatora a nie trzech. Dlatego ten pomysł byłby potraktowany jako koszt
bez wartości dodanej.
> A kod działa przypadkiem tylko dlatego że kompilator w jakimś miejscu
> zamiast referencji użył wartości. W kodzie produkcyjnym użyje referencji
Zaraz, zaraz... Testowałeś nieprodukcyjny kod a produkcyjny były jakiś inny?
Tyle mądrości na temat weryfikacji a tu taki klops. Skup się.
> Aby zweryfikować narzędzia do weryfikacji.
O, tu, widzisz, poruszyłeś ciekawe zagadnienie.
Ale kwalifikację narzędzia robi się przed projektem, bo projekt zaczyna się mając już
zatwierdzone narzędzia. I jeśli do tej kwalifikacji chcesz sobie użyć materiału
testowego pochodzącego z różnych kompilatorów, to właściwie może to mieć sens (ale
nie musi). Tylko że nadal nie ma sensu używać więcej niż jednego kompilatora do
robienia tego właściwego projektu.
> > I tu jest cały trick. Kompilator nie jest celem ani centrum tego ćwiczenia.
>
> Jest narzędziem które odpowiada na pytanie czy kod działa czy nie.
Kompilator? Nie, nie odpowiada na takie pytanie. Właściwie to mogłoby nie być żadnego
kompilatora, można posadzić człowieka z zapasem kawy i herbatników i niech
"kompiluje". I to nawet nie jest fikcja.
> Czasami odpowiada źle.
Nie pokazałeś niczego takiego.
> Nie. Wykazałeś że w jakiś warunkach Twój kod działa. A czy to te same
> warunki kiedy będzie używany produkcyjnie?
I w jaki sposób trzy kompilatory mają coś tu zmienić? Ilość kompilatorów wpływa na
to, jak bardzo zmieniają się warunki w użyciu produkcyjnym?
> Może wyjaśnie na przykładzie. Znam człowieka pracujacego dla poważnej
> instytucji związanej z lotnictwem. Aby ich kod przeszedł certyfikat
> pozwalający na stosowanie w samolotach musieli, poza wykazaniem
> testowania we wszystkich odmianach, zarządzania jakością, weryfikacji
> formalnej również to czy zweryfikowali narzędzia. Ponieważ smutni
> panowie od certyfikowania nie są z kosmosu i znają realia to zapytali w
> ILU różnych symulatorach potwierdzono działanie kodu i czy ich
> producenci sami są certyfikowani do użycia w takiej branży.
Wszystko się zgadza.
Ale nie ma tu ani słowa o użyciu wielu kompilatorów.
I jeśli jesteśmy w temacie samolotów i smutnych panów - standardy lotnicze są tak
napisane, że użycie wielu kompilatorów do kompilowania tego samego kodu w projekcie
nie jest podstawą do dodatkowego uznania (tzw. certification credit) w czasie audytu
certyfikacyjnego a weryfikacji kodu wynikowego nie robi się garścią kompilatorów, bo
kod ma być jeden. Ten sam w testach, co na produkcji.
Dlatego ten pomysł nie ma zastosowania w projektach krytycznych, w szczególności w
lotniczych. Prawie byłeś blisko w temacie kwalifikacji narzędzi (np. narzędzie do
badania pokrycia kodu testami można próbować kwalifikować przy użyciu materiału
testowego z jakiegoś zestawu kompilatorów, ale to i tak niewiele wnosi w konteście
danego projektu, gdzie jest jeden kompilator), ale generalnie mylisz pojęcia.
No i fajnie, że znasz "człowieka pracujacego dla poważnej instytucji związanej z
lotnictwem".
> PS. A zupałnie na marginesie wszelkiej certyfikacji. Odpalam mój kod pod
> trzema kompilatorami.
Ja też - wtedy, gdy piszę biblioteki.
Ale w projekcie krytycznym używa się jednego kompilatora. I testuje się kod
produkcyjny.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 07.10.19 00:50 J-23
- 07.10.19 19:47 heby
- 07.10.19 19:50 heby
- 07.10.19 23:08 J-23
- 08.10.19 08:11 AK
- 08.10.19 08:13 AK
- 08.10.19 08:48 AK
- 08.10.19 09:28 Maciej Sobczak
- 08.10.19 09:34 Maciej Sobczak
- 08.10.19 09:54 AK
- 10.10.19 21:40 heby
- 10.10.19 21:52 heby
- 10.10.19 23:08 AK
- 11.10.19 12:07 g...@g...com
- 12.10.19 16:34 heby
Najnowsze wątki z tej grupy
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
Najnowsze wątki
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=
- 2025-01-31 Warszawa => Data Engineer (Tech Leader) <=
- 2025-01-31 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-01-31 Gliwice => Business Development Manager - Network and Network Security
- 2025-01-31 Warszawa => Architekt rozwiązań (doświadczenie w obszarze Java, AWS
- 2025-01-31 Warszawa => Full Stack .Net Engineer <=
- 2025-01-31 Warszawa => Programista Full Stack (.Net Core) <=
- 2025-01-31 Gdańsk => Programista Full Stack .Net <=