eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingUwagi odnośnie książki StroustrupaRe: Uwagi odnośnie książki Stroustrupa
  • Data: 2019-01-08 11:15:52
    Temat: Re: Uwagi odnośnie książki Stroustrupa
    Od: g...@g...com szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu wtorek, 8 stycznia 2019 09:46:50 UTC+1 użytkownik Maciej Sobczak napisał:
    > > I tak na przykład, pisałem, żeby unikać operacji przypisania tam,
    > > gdzie to nie jest konieczne.
    >
    > I od samego początku ta teza nie została poparta żadnym przykładem. Zmienne
    statyczne omówiliśmy, ale czy ich przykładowe nadużycie jest jedynym takim miejscem?
    Gdzie jeszcze nie jest konieczne?

    Gwoli ścisłości: to nie było "przykładowe nadużycie".
    To był najprostszy możliwy przykład użycia zmiennej
    statycznej. I to nie był przykład na zły styl w programowaniu
    - czasem konstrukcje tego typu mogą mieć sens.
    To był przykład na to, w jaki sposób "mutowalny stan"
    komplikuje nasze środki analizy programu.
    I nie chodzi o to, że programy, które używają "mutowalnego
    stanu" są "gorsze" od takich, które go nie używają. Ja tak
    nie twierdzę. Twierdzę, że są - co do zasady - trudniejsze
    do zrozumienia, co - jak sądzę - zobrazowałem programem
    liczącym sumę kwadratów początkowych siedmiu liczb pierwszych,
    który się gdzieś w tym wątku przewinął.

    > > nigdzie tam nie pisałem, że "operator
    > > przypisania jest niepotrzebny".
    >
    > Przepraszam za skrót myślowy. Łączę tą kwestię z ogólną niechęcią zwolenników
    programowania funkcjonalnego do modyfikowalnego stanu.

    No ja się czasem spotykam z ludźmi, którzy twierdzą, że "programy
    funkcyjne są lepsze, bo są lepsze", albo "są lepsze, bo są
    przejrzyste odniesieniowo", i którzy robią rzeczy prawdziwie
    kuriozalne. Uważam, że to głupota.

    Ale też uważam, że warto dobierać najprostsze środki do realizacji
    danego celu. Jeżeli coś można zrobić bez przypisania, bo pojęcie
    stanu nie jest istotnym składnikiem rozwiązywanego problemu, to
    lepiej to tak zrobić. I są pewne konkretne powody ku temu
    - mianowicie to, że zyskujemy możliwość analizy kodu w terminach
    podstawień, a nie w terminach przepływu sterowania, który w wielu
    sytuacjach jest dla nas nieinteresujący (a nawet ograniczający)

    > > Ale moja percepcja Twoich słów jest taka, że nie wypowiadasz
    > > ich po to, żeby dowiedzieć się, co mam na myśli, tylko po to,
    > > żeby udowodnić mi, że nie mam racji.
    >
    > Inaczej: mając wrażenie, że dowiedziałem się już, co masz na myśli, udowadniam, że
    nie masz racji. :-) Jest bardzo możliwe, że gdzieś się mijamy w naszych wrażeniach,
    ale ponieważ dziedzina jest techniczna, to zawsze staram się odwoływać do przykładów
    (albo prosić o przykłady) z kodem.

    Ja też. Nawet w dziedzinach nietechnicznych
    Jeżeli ktoś nie jest w stanie podać przykładów
    na rzecz swoich twierdzeń, to jest to dla mnie
    silna przesłanka za tym, żeby uznać, że nie wie,
    co mówi (albo że tak sobie po prostu gada)

    > > (między innymi dlatego cenię sobie języki programowania, bo
    > > pozwalają się komunikować w sposób hiper precyzyjny bez żadnego
    > > miejsca na niejednoznaczność)
    >
    > Właśnie.
    >
    > A skoro i tak weszliśly już w tym podwątku na poziom miękki, to pozwolę sobie na
    drobne wyjaśnienie. Być może masz wrażenie, że się Ciebie czepiam dla samego
    czepiania, ale moja perspektywa jest inna. Otóż padło tutaj w dyskusji N zarzutów
    wobec różnych rzeczy (książki, języka, paradygmatu, itd.) cieszących się w miarę
    szerokim poważaniem i wśród tych zarzutów jest M, z którymi się nie zgadzam. A
    ponieważ na tej grupie jest bardzo mało okazji do dyskusji, więc korzystam z tych M.
    Gdyby te N zarzutów było napisanych przez N różnych grupowiczów, to również wtedy nie
    zgodziłbym się z M z nich i odniósłbym się do nich (z grubsza) w taki sam sposób.
    > Tymczasem zupełnym przypadkiem te M dyskusyjnych kwestii pochodzi od jednego
    grupowicza. Tak, jesteś jedyną osobą, która w ostatnim czasie konsekwentnie forsuje
    tutaj pewien nurt techniczny, który z racji swojej dzisiejszej niszowości jest
    kontrowersyjny (co nie znaczy, że nowatorski a przez to nieznany). Inaczej mówiąc,
    fakt, że spada na Ciebie cały ogień obrony jest z mojego punktu widzenia wyłącznie
    przypadkiem, jeśli nie Twoją winą, skoro jesteś jedynym atakującym. :-)

    Rozumiem.
    Choć nie zgodzę się z tym, że cokolwiek forsuję. Może "promuję"
    byłoby lepszym słowem.

    > To rzekłszy, dawno temu był tu grupowicz podpisujący się jako Qrczak. Forsował
    mniej więcej te same poglądy a nawet popełnił własny język programowania o nazwie
    Kogut (http://kokogut.sourceforge.net/kogut.html). Nie wykluczam, że go znasz.
    Niestety nie zagląda już tutaj, ale jestem przekonany, że świetnie byście się
    dogadali, na pewno z korzyścią dla grupy.

    Kojarzę go, choć może raz z nim rozmawiałem, ale rzeczywiście
    było to dawno.
    Ciekawostką jest, że ostatnio upvote'ował dwie moje odpowiedzi
    na Quorze, w tym jedną, którą wkleiłem na początku naszej rozmowy,
    i drugą, w której krytykowałem C++, skąd dowiedziałem się, że też ma
    profil na Quorze:
    https://www.quora.com/profile/Marcin-Kowalczyk-11

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

  • 08.01.19 13:33 AK

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: