-
X-Received: by 10.140.109.246 with SMTP id l109mr392256qgf.22.1427563379031; Sat, 28
Mar 2015 10:22:59 -0700 (PDT)
X-Received: by 10.140.109.246 with SMTP id l109mr392256qgf.22.1427563379031; Sat, 28
Mar 2015 10:22:59 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
h15no395451igd.0!news-out.google.com!q90ni548qgd.1!nntp.google.com!z60no152609q
gd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Sat, 28 Mar 2015 10:22:58 -0700 (PDT)
In-Reply-To: <mf65j9$ut1$1@srv.chmurka.net>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.108.152.51;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <4...@g...com>
<d...@g...com>
<meti4e$osd$1@srv.chmurka.net>
<f...@g...com>
<mevfpd$gpa$1@srv.chmurka.net>
<e...@g...com>
<mf1tnf$d48$1@srv.chmurka.net>
<5...@g...com>
<mf4eao$a9t$1@srv.chmurka.net>
<2...@g...com>
<mf65j9$ut1$1@srv.chmurka.net>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <9...@g...com>
Subject: Re: poprawność algorytmu
From: Maciej Sobczak <s...@g...com>
Injection-Date: Sat, 28 Mar 2015 17:22:59 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
Xref: news-archive.icm.edu.pl pl.comp.programming:207693
[ ukryj 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
- 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-27 potwierdzenie notarialne dokumentow tozsamosci ze zdjeciem
- 2025-02-27 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=
- 2025-02-27 Katowice => Regionalny Kierownik Sprzedaży (OZE) <=
- 2025-02-27 Warszawa => Mid IT Recruiter <=
- 2025-02-27 Warszawa => Expert Recruiter 360 <=
- 2025-02-27 Warszawa => Junior Rekruter <=
- 2025-02-27 China-Kraków => Key Account Manager IT <=
- 2025-02-27 Warszawa => Sales Assistant <=
- 2025-02-27 Kraków => Frontend Vue Developer <=
- 2025-02-27 Re: Zwolniony z IKEA za "wąty" przeciw firmowej promocji LGBT-IQ+ przywrócony do pracy - SN odrzucił kasacje (sygn. akt I PSK 62/24)
- 2025-02-27 Częstochowa => Manager ds. produktu <=
- 2025-02-27 Warszawa => Business Systems Analyst <=
- 2025-02-27 Nagranie poglądowe
- 2025-02-26 Zasilacz USB na ścianę.
- 2025-02-26 Błonie => Specjalista ds. public relations <=