-
Data: 2015-03-28 18:22:58
Temat: Re: poprawność algorytmu
Od: Maciej Sobczak <s...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]
> > To skąd wiedzą, że dobrze wyspecyfikowały? Mają przeczucie?
>
> Stąd, że się na tym znają.
Ale znają się na tym, co sami z tego rozumieją. A specyfikacja jest po to, żeby to
ich rozumienie przekazać innym (np. programistom). I teraz jest problem: skąd taka
osoba wie, że dobrze coś wyspecyfikowała, skoro jej rozumienie tematu jest niejawnie
uzupełnione posiadaną wiedzą, której nie wyspecyfikowała, ale tego nie zauważyła? To
jest powszechne zjawisko.
Metody formalne przydają się też w tym, że pokazują luki w specyfikacji. Nawet w
czymś, co jest "oczywiste", ale przestaje być oczywiste, jak automat wypunktuje
niejawnie pominięte założenia.
> W praktyce funkcję sort pisze się bardzo rzadko.
W praktyce każdą rzecz pisze się jeszcze rzadziej. Tym bardziej nie ma pewności, czy
wszyscy wszystko tak samo dobrze rozumieją.
> Wtedy da się w praktyce testować - przez co rozumiem osiągnięcie
> akceptowalnej niezawodności przy akceptowalnych kosztach.
Czyli biznes typu "wicie rozumicie". Jedna wielka szara strefa.
Na budowie desek ma być tyle, żeby się nie zawaliło. Czy może być jedna mniej, niż
ostatnio? Nie wiemy, bo w praktyce niczego nie mierzymy i nie wiemy, gdzie jesteśmy z
parametrami.
> Ale jak najbardziej się nadają, bo testowane programy działają
> wystarczająco często i per saldo zarabiają.
Tak. Ale skoro już zarabiają, to nie poprzestajmy na tym, tylko optymalizujmy. Może
mogłyby zarabiać więcej? Problem w tym, że bez dokładnej wiedzy o tym co uzyskaliśmy,
nie wiadomo, co i jak zmienić.
W porównaniu do innych branż inżynierskich, my jesteśmy w głębokim lesie.
> Noo chyba że masz matematyczny dowód na to, że metody formalne są opłacalne?
To oczywiście będzie zależało od wielu parametrów, w szczególności od tego, jaki jest
koszt fakapu. Zwykle jest bardzo mały, więc jedyna rzecz, która jest faktycznie
opłacalna, to klepanie kodu.
> Może nie lubią dlatego, że przypadków jest dużo i wymyślanie nowej
> metody byłoby zarówno bardzo kosztowne jak i bardzo ryzykowne - bo
> problem trzeba rozwiązać, a nową metodę po pierwsze nie wiadomo, czy się
> w ogóle uda znaleźć, a po drugie nie wiadomo ile to zajmie.
Ale nie chodzi o to, żeby za każdym razem wynajdywać nowe metody. Nie wynajdujemy
nowego języka programowania do każdego projektu. Jest pula rozwiązań i metod, z
których korzystamy w razie potrzeby.
> Instytucje finansowe zajmują się zarabianiem pieniędzy
Wszyscy sie tym zajmują. Nie napinajmy się, że instytucje finansowe niby mają jedną
nóżkę bardziej.
> A straty z błędów są
> jak najbardziej realne,
Nie będę wybiegał poza tematykę grupy zagłębiając się w tą część wątku, bo na pewno
bym wybiegł za daleko.
> Program jest, coś robi, został napisany w warunkach jakiejś potrzeby i
> był modyfikowane w warunkach zmieniających się potrzeb. Moje pytanie
> jaką byś zaproponował metodę działania zamiast tej, która faktycznie
> została zastosowana i doprowacziła do powstania programu takiego, jaki jest.
W systemie finansowym? Zrobiłbym go dokładnie takimi metodami, jakie opisałeś. Byłoby
to w zgodzie z:
1. potencjalnymi kosekwencjami dla mnie w przypadku fakapu
2. potencjalnymi korzyściami, np. w postaci wysokich premii
3. mojej osobistej opinii nt. realności strat w tym systemie
Serio. Ja też umiem liczyć.
A teraz porozmawiajmy o pociągach. Albo windach. Albo sprzęcie medycznym. Albo o
samochodach, to teraz dosyć popularny temat. Albo o czymkolwiek innym, gdzie, jak to
mówi przysłowie, programista wiesza się razem ze swoim programem, zwłaszcza gdy sam
staje się jego użytkownikiem.
> Widziałem wiele sytuacji, gdzie zaczęto od wzięcia białej tablicy i
> pisaka, ale nigdy nie skończyło się to stworzeniem programu z dowodem
> formalnym.
Bo nie musi tak być.
> > Skoro te testy mają mieć
> > efektywność probabilistyczną, to być może bardziej opłaca się
> > wykupienie polisy ubezpieczeniowej? To wcale nie jest śmieszne
> > pytanie.
>
> Myślę, że nikt ci nie sprzeda takiej polisy.
A ja myślę, że takie polisy będą. Razem z całym systemem wyliczania ich wysokości.
> > Więc róbmy dowód kompletny.
>
> To jest ryzyko, bo może się okazać, że zanim skończysz dowodzić, skończą
> się pieniądze albo program przestanie być potrzebny w takiej postaci.
Widziałem też przypadek, kiedy skończyły się pieniądze na testy.
--
Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com
Następne wpisy z tego wątku
- 28.03.15 19:38 Roman W
- 28.03.15 19:43 Roman W
- 28.03.15 19:50 A.L.
- 28.03.15 19:51 A.L.
- 28.03.15 21:16 Andrzej Jarzabek
- 29.03.15 00:13 Maciej Sobczak
- 29.03.15 15:21 Andrzej Jarzabek
- 29.03.15 23:18 Maciej Sobczak
- 30.03.15 00:49 Andrzej Jarzabek
- 30.03.15 00:59 Andrzej Jarzabek
- 30.03.15 01:19 Roman W
- 30.03.15 09:38 slawek
- 30.03.15 09:45 slawek
- 30.03.15 09:49 slawek
- 30.03.15 10:18 Tomasz Kaczanowski
Najnowsze wątki z tej grupy
- 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
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO