eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingpoprawność algorytmuRe: poprawność algorytmu
  • X-Received: by 10.140.48.97 with SMTP id n88mr367662qga.35.1427533819306; Sat, 28 Mar
    2015 02:10:19 -0700 (PDT)
    X-Received: by 10.140.48.97 with SMTP id n88mr367662qga.35.1427533819306; Sat, 28 Mar
    2015 02:10:19 -0700 (PDT)
    Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.glorb.com!
    z60no72301qgd.0!news-out.google.com!q90ni548qgd.1!nntp.google.com!z60no72298qgd
    .0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
    Newsgroups: pl.comp.programming
    Date: Sat, 28 Mar 2015 02:10:19 -0700 (PDT)
    In-Reply-To: <mf4eao$a9t$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>
    User-Agent: G2/1.0
    MIME-Version: 1.0
    Message-ID: <2...@g...com>
    Subject: Re: poprawność algorytmu
    From: Maciej Sobczak <s...@g...com>
    Injection-Date: Sat, 28 Mar 2015 09:10:19 +0000
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: quoted-printable
    Xref: news-archive.icm.edu.pl pl.comp.programming:207687
    [ ukryj nagłówki ]

    W dniu piątek, 27 marca 2015 21:25:34 UTC+1 użytkownik Andrzej Jarzabek napisał:

    > Ale może właśnie potrafią wyspecyfikować, ale niekoniecznie w języku
    > formalnym.

    To skąd wiedzą, że dobrze wyspecyfikowały? Mają przeczucie?

    > Albo nawet, co jest też częste, nie potrafią co prawda wystarczająco
    > precyzyjnie wyspecyfikować, ale programista potrafi dojść do tego
    > poprzez zadawanie pytań, zrozumienie celu jaki ma realizować program i
    > posługiwanie się przykładami.

    I napisać funkcję sort?

    > No więc właśnie algorytm sortowania to taki wdzięczny temat dla metdo
    > formalnych

    Tak. Metody formalne rozwija się po to, żeby wdzięcznych tematów było coraz więcej.

    > Niestety w praktyce zwykle miewa się do czynienia z
    > bardziej skomplikowanymi przypadkami.

    Zgadza się. I co, wtedy się łatwo testuje?

    > > Zgadzam się, że to jest problem. Metody formalne są ciałem obcym w
    > > branży, bo nie pasują do dotychczas przyjętych wzorów pracy.
    >
    > Bo się nie nadają do realizacji tych zaań, które zazwyczaj się realizuje.

    Ale testy też się nie nadają, tylko łatwiej to ukryć pod pozorem, że się je robi.

    > Konsensus jest taki, że metody formalne albo w ogóle nie
    > nadają się do zastosowania większości problemów, albo są nieopłacalne.

    Czyj konsensus? Bo na razie ustaliliśmy, że punkty widzenia są różne.

    > Jeśli konsensus się myli, to byłoby bardzo duże zainteresowanie tym, jak
    > by to zrobić w praktyce tak, żeby się opłacało.

    No więc ja rozumiem, że zainteresowanie jest.

    > Tyle że na razie udaje
    > się to jedynie w specyficznych niszach.

    Bo tylko w specyficznych niszach się próbuje to robić. W pozostałych niszach może
    nawet nie być wystarczającej świadomości, że jest to możliwe.

    > Jeśli uważasz, że dałoby się stosować te metody w ogólnym przypadku, to
    > np. ja byłbym bardzo zainteresowany - jak?

    Nie wiem. Nie wiem nawet, czy to jest dobre pytanie. Bo zamiast szukać jednej metody
    do zastosowania w ogólnym przypadku, może trzeba szukać szczególnej metody do każdego
    przypadku osobno. Ja wiem, że korporacje tego nie lubią, bo im to utrudnia
    zarządzanie zasobami metodą "zatrudnijmy 20% programistów więcej".

    > > 1. Czy ktoś poniósł kiedyś osobiste konsekwencje (np. poszedł do
    > > pierdla) za zrobienie błędu w programie użytym w branży finansowej?
    > > 2. Czy ktoś odniósł kiedyś osobiste korzyści (np. dostał wysoką
    > > premię) za szybkie wdrożenie systemu na rynek, wyprzedzając tym
    > > konkurencję?
    >
    > Ale właściwie co to ma do rzeczy? Firma nie ponosi straty jeśli
    > pracownik nie idzie do pierdla? Jak ktoś dostaje albo nie dostaje premii
    > to znaczy że są albo nie ma testów?

    Sam napisałeś, że to wszystko wynika z zarządzania ryzykiem. Powyżej masz input do
    tego zarządzania. Outputem jest wybór metod pracy.

    > Da się, bo sukces testowania to nie jest 100% wyeliminowanie szansy
    > błędu, tylko redukcja ryzyka strat w takim stopniu, żeby opłacało się to
    > firmie.

    Zgadza się. Coś jak z pytaniem czy dziecko nauczyło się tabliczki mnożenia a ono
    odpowiada, że nauczyło się tyle, żeby w opłacalnym stopniu zredukować ryzyko wpadki.
    No to nauczyło się czy się nie nauczyło?

    > jest oczywistą
    > oczywistością, że jakiekolwiek testowanie jest lepsze od braku
    > testowania w ogóle.

    Tak. Jest też oczywistą oczywistością, że jakiekolwiek testowanie nie wypełnia
    definicji terminu "system jest przetestowany". Proponuję wprowadzić termin
    "podtestowany system".

    > > Na poważnie - nie stosuje się metod formalnych a posteriori w
    > > odniesieniu do kodu, który nie był pisany z myślą o takich metodach.
    > > Problem stopu, Goedel, i podobne teoretyczne przeszkody. Natomiast da
    > > się napisać (i to udowodnić) poprawny program, jeśli się go pisze z
    > > myślą o takich metodach.
    >
    > Jak konkretnie by to wyglądało w przypadku takiego programu, jaki opisałem?

    Złe pytanie. Tego programu jeszcze nie ma, więc nie ma takiego przypadku. :-)
    Przypadkiem może być problem do rozwiązania, np. "system tradingowy". Mam opisać jak
    się to robi od początku? No więc bierze się białą tablicę i pisak, a potem... ;-)

    Ja wiem, że to jest niemodne podejście. Teraz się od razu nap...la kod, zanim jeszcze
    będzie wiadomo, co program ma robić.

    > Ale niekompletne testy są też użyteczne, w sensie takim, że realnie
    > redukują ryzyko

    Jak realnie? Możesz to wyrazić w liczbach? Jakiś wykres, abo coś? Bo jeśli mam za to
    zapłacić, to chcę znać ROI. Skoro te testy mają mieć efektywność probabilistyczną, to
    być może bardziej opłaca się wykupienie polisy ubezpieczeniowej? To wcale nie jest
    śmieszne pytanie.

    > w przeciwieństwie do niekompletnego dowodu, który jest
    > czystym marnotrawstwem.

    Więc róbmy dowód kompletny.

    --
    Maciej Sobczak * http://www.msobczak.com * http://www.inspirel.com

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: