eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Niezmienniki pętli
Ilość wypowiedzi w tym wątku: 91

  • 61. Data: 2018-11-22 15:22:38
    Temat: Re: Niezmienniki pętli
    Od: fir <p...@g...com>

    W dniu czwartek, 22 listopada 2018 11:31:21 UTC+1 użytkownik Maciej Sobczak napisał:
    > > Co masz na myśli mówiąc o pre- i post-conditions?
    > > Jaki język?
    >
    > No właśnie dowolny i to jest ich zaletą, bo koncepcję można dokleić do dowolnego
    języka, również do rzeczy, które niekoniecznie byśmy od razu skojarzyli z językiem
    programowania, np. opis maszyny stanów.
    >
    > https://en.wikipedia.org/wiki/Precondition
    > https://en.wikipedia.org/wiki/Postcondition
    >
    > Tu jest kilka przykładów w SPARKu, zobacz gdzie są i jaką rolę pełnią słowa Pre i
    Post w tych przykładach.
    >
    > Da się to nawet dokleić do języka C, patrz np. Frama-C.
    >
    > > > Mam wrażenie, że języki funkcjonalne za bardzo fiksują się na pojęciu typu. O
    ile typ nadaje się do opisania dozwolonych stanów, to nie za bardzo nadaje się do
    opisania przejść między stanami.
    > >
    > > To trochę takie pisanie palcem na piasku.
    > > Jak byś przedstawił konkretne przykłady, to może moglibyśmy
    > > spróbować podyskutować.
    >
    > Przykład jest taki, że światło na skrzyżowaniu może być czerwone, żółte, zielone,
    żółto-czerwone albo migające. To jest zbiór wartości, daje się to opisać typem
    wyliczeniowym.
    > Da się też napisać funkcję zmieniającą stan świateł albo zwracającą kolejny stan w
    sekwencji, itp. Wiem, jak ładnie napisać system obsługujący np. szlaban na
    przejeździe kolejowym przy użyciu takich pojęć jak pre- i post-conditions, po te
    pojęcia nadają się do pracy z systemami, w których np. coś ma być spełnione żeby coś
    mogło być po czymś. Tu pojęcia "przed" i "po" pojawiają się naturalnie i podobnie
    jest w każdym innym systemie, dającym się opisać maszyną stanów (pralka, zmywarka,
    skrzynia biegów, samolot, itd.).
    >
    > Widziałem kilka teoretycznych przykładów z dependent types, ale żadnego
    praktycznego, który mógłby pomóc w takich właśnie stanowo-sekwencyjnych systemach. A
    łaśnie takie są w systemach krytycznych, bo przypadkiem ich krytyczność wynika z
    tego, że są związane z procesami fizycznymi, w których jest czas a jak jest czas, to
    jest też "pre" i "post".
    > Właśnie dlatego wsparcie dla "pre" i "post" w języku programowania jest czymś
    bardzo cennym. Pytanie, czy dependent types cokolwiek tu jeszcze wnoszą, czego nie da
    się pokryć samym "pre" i "post".
    >
    > --
    > Maciej Sobczak * http://www.inspirel.com

    mz to duzo teorii nie rokujacej na spektakularne efekty...

    jesli zajmowac sie teoria to polecam jakas lepsza...np to co mowilem o obsludze
    bledow w poprawionym c z ta klauzula on_error duzo lepsze

    bo teoria trzeba sie zajmowac albo porzadna albo lepiej wcale i lepiej
    pisac jakis konkretny kod

    zaluje ze nie rozmawia sie tu o konkretnych problemach z kodu...

    np godek jesli by naswietlil jakie ma problemy z tymi figurkami w 3d i co konkretnie
    chce zrobic moze po zastanowieniu sie ozna by cos obgadac..
    sam jak pisalem sam troche chcialbym sie zajmowac czyms podobnym (miedzy innymi()
    tyle ze u mie to nie tyle wzgledby ruch/mechanika czesci w jakiejs figurce 3d tylko
    raczej fajne dobrze wygladajace
    ruchy/mechanika tych obiektow w przestrzeni - bo dzis ruchy obiektow w 3d
    nawet w grach AAA wygladaja mi na predefiniowane i toporne...fajnie by bylo zrobic
    cos co naprawde by sie dobrze ruszalo ;c

    z tym ze w sumie nie wiem czy mam na to czas


  • 62. Data: 2018-11-22 16:08:52
    Temat: Re: Niezmienniki pętli
    Od: AK <n...@n...net>

    On 2018-11-21 22:48, Maciej Sobczak wrote:
    > a tutaj:
    >
    > http://www.stroustrup.com/applications.html
    >
    > OS/400 jest wymieniony jako zrobiony w C++.

    Ot chorendalna manipulacja.
    C/C++ do OS/400 dodano znaaaacznie pozniej jako jeszcze jeden
    jezyk aplikacyjny.
    Jest wierutna bzdura, ze w nim napisano OS/400.

    PS: Dla "znawcow" co to nie lubia bytecode(s) (bo wolne itp.):
    Caly OS/400 jest oparty na bytecode.
    Wszystkie kompilatory w nim produkuja _wlasnie_ bytecode.

    AK


  • 63. Data: 2018-11-22 18:50:31
    Temat: Re: Niezmienniki pętli
    Od: Sebastian Biały <h...@p...onet.pl>

    On 19/11/2018 17:15, g...@g...com wrote:
    > W gcc masz feature o nazwie 'statement expressions'

    Piszę multiplatformowo.


  • 64. Data: 2018-11-22 18:53:40
    Temat: Re: Niezmienniki pętli
    Od: Sebastian Biały <h...@p...onet.pl>

    On 19/11/2018 08:14, Maciej Sobczak wrote:
    > assert(dowolnyfragmentkodu, wynik_bool);
    > I użyć tego tak:
    > assert(
    > int i; // albo inne definicje

    Coverage i lint to widzą. Asercje przy statycznej analizie bywają
    niespełnialne a przy dynamicznej generują fałszywe wyniki pokrycia.
    Dlatego to musi by ficzer języka. Wiec nie tylko poszerzamy składnię ale
    musielibyśmy upoewnić się że takie narzędzia jak gcov i podobne nie
    zobaczą tego kodu nawet w debugu. Tak więc to troche złożony problem.
    Nie liczę że się kiedykolwiek doczekam.


  • 65. Data: 2018-11-22 22:53:31
    Temat: Re: Niezmienniki pętli
    Od: Wojciech Muła <w...@g...com>

    On Tuesday, November 20, 2018 at 12:00:50 AM UTC+1, AK wrote:
    > On 2018-11-19 21:18, s...@g...com wrote:
    > >> Warto przyjrzeć się językowi Idris i typom zależnym. Twórca Idris, Edwin Brady,
    > >> opowiada tutaj o nim z humorem:
    > >> https://www.youtube.com/watch?v=zSsCLnLS1hg
    > >
    > > Po po pierwsze, primo:
    > > 1. C++ jest zupełnie wystarczający do wszystkiego.
    >
    > Boze jedyny... to juz nie jest odlot.
    > To niczym nie skazone wstecznictwo i betoniarstwo - wlasciwie
    > eliminujace z zawodu zwanego programostą.

    Niestety, w tym zdaniu szyka jest dużo prawdy, zastąpiłbym tylko słowo "wszystkiego"
    zwrotem "wszystkiego za co płacą całkiem nieźle". C++ mimo swojej wielopoziomowej
    koślawości wygrywa, m.in. dlatego, że stoją za nim duże firmy, które inwestują w
    rozwój i promocję. Jest takie ładne określenie cubic dollars.

    To prawda, że C++ jest technologicznie zapóźniony o jakieś 10-20 lat, ale powoli
    nadrabia (i nawet wygląda na to, że komitet sobie z tego zdaje sprawę). To prawda, że
    można w C++ pisać w popieprzony sposób, ale na szczęście nikt nie zmusza.

    Alternatywy się nie przebiły, mimo teoretycznej lepszości i często wielkiego szumu.
    Np. taki D chyba już zdechł odkąd Facebook przestał go promować. Go był pomyślany
    jako zastępstwo dla C++ - moduły, współbieżność, odśmiecanie pamięci. Czyli niby
    bolączki C++, ale fakty są takie, że do Go poszli phppwcy, pythoniarze,
    javascriptowcy. Bo język prosty, ale kompilowany więc szybszy. Ada? No jest gdzieś
    tam[1]. Rust? Nie powala i poza Mozillą i podjaranymi studentami nikt tego poważnie
    nie używa.

    Niestety, jesteśmy skazani na C++. I być może w wersji C++27 będzie już całkiem
    dobry. ;)

    w.

    [1] taka historyjka: pewna zachodnia firma chciała przenieść do Polski utrzymanie
    adowego projektu, ale... nie było u nas wystarczającej liczby programistów.


  • 66. Data: 2018-11-22 23:25:12
    Temat: Re: Niezmienniki pętli
    Od: AK <n...@n...net>

    On 2018-11-22 22:53, Wojciech Muła wrote:
    > Go poszli phppwcy, pythoniarze, javascriptowcy. Bo język prosty, ale kompilowany
    więc szybszy.

    Nie. Nie dlatego.
    Glownie dlatego, ze sedno go to b.dobre asychro (goroutines).
    (z tego powodu sam pobawie sie jeszcze w Go przed emerytura).

    PS: Powrot do "przyszlosci" - pomyslec, ze asynchro/multitasking oparte
    na korutynach bylo "immanentna" ustandaryzowana czescia Simuli67.
    No tak.. ale przyszly XT i zabily nie tylko Simule67 ale i ine porzadne
    j.prog.

    AK


  • 67. Data: 2018-11-23 00:41:37
    Temat: Re: Niezmienniki pętli
    Od: AK <n...@n...net>

    On 2018-11-22 22:53, Wojciech Muła wrote:
    > Niestety, jesteśmy skazani na C++. I być może w wersji C++27 będzie już całkiem
    dobry.;)

    Tu sie zgodzę (lubię żyć nadzieją:)
    PS: Na szczęście wtedy już będę w krainie wiecznych kompilatorów...

    AK


  • 68. Data: 2018-11-23 00:43:45
    Temat: Re: Niezmienniki pętli
    Od: AK <n...@n...net>

    On 2018-11-23 00:41, AK wrote:
    > Niestety, jesteśmy skazani na C++.
    Poprawka.
    1. Siebie wykluczam
    2. Wcale nie jestesmy skazani (jest .NET, jest Java).

    AK


  • 69. Data: 2018-11-23 07:33:28
    Temat: Re: Niezmienniki pętli
    Od: s...@g...com

    W dniu piątek, 23 listopada 2018 00:43:51 UTC+1 użytkownik AK napisał:
    > On 2018-11-23 00:41, AK wrote:
    > > Niestety, jesteśmy skazani na C++.
    > 2. Wcale nie jestesmy skazani (jest .NET, jest Java).

    Przecież to syf w porównaniu do C++ z Qt...


  • 70. Data: 2018-11-23 08:00:58
    Temat: Re: Niezmienniki pętli
    Od: Wojciech Muła <w...@g...com>

    On Friday, November 23, 2018 at 12:43:51 AM UTC+1, AK wrote:
    > On 2018-11-23 00:41, AK wrote:
    > > Niestety, jesteśmy skazani na C++.
    > Poprawka.
    > 1. Siebie wykluczam
    > 2. Wcale nie jestesmy skazani (jest .NET, jest Java).

    Ja dla zachowania równowagi psychicznej piszę w Pythonie. :)
    Tam (prawie) wszystko jest jak powinno. Największy błąd
    Pythona to dopuszczenie do powstania dwóch obozów py2 i py3.

    Java to chyba teraz słaby pomysł po zmianach licencyjnych.

    w.

strony : 1 ... 6 . [ 7 ] . 8 ... 10


Szukaj w grupach

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: