eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaAVR po latachRe: AVR po latach
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.man.lodz.pl!newsfeed.pionier.net.p
    l!3.eu.feeder.erje.net!feeder.erje.net!eternal-september.org!reader02.eternal-s
    eptember.org!.POSTED!not-for-mail
    From: heby <h...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: AVR po latach
    Date: Thu, 18 Nov 2021 21:02:19 +0100
    Organization: A noiseless patient Spider
    Lines: 99
    Message-ID: <sn6bgf$5pm$1@dont-email.me>
    References: <smreh5$3aj$1@dont-email.me> <61920df0$0$544$65785112@news.neostrada.pl>
    <smu2sg$nns$2@dont-email.me> <619365f0$0$552$65785112@news.neostrada.pl>
    <61938d47$0$518$65785112@news.neostrada.pl>
    <a...@n...neostrada.pl>
    <619508e5$0$552$65785112@news.neostrada.pl>
    <a...@n...neostrada.pl>
    <sn3drv$13k$2@dont-email.me>
    <a...@n...neostrada.pl>
    <sn3h62$qna$1@dont-email.me>
    <a...@n...neostrada.pl>
    <sn3lbt$q5v$1@dont-email.me>
    <0...@g...com>
    <sn5ul0$2vi$1@dont-email.me> <2...@m...lan>
    <sn602a$cil$1@dont-email.me> <20211118180102.29f911cc@mateusz>
    <sn61hi$q5d$1@dont-email.me> <20211118182857.67ab36fc@mateusz>
    <sn632k$7cr$1@dont-email.me> <20211118191941.5cd5cbc8@mateusz>
    <sn66n0$2i0$1@dont-email.me> <20211118203536.2ed957df@mateusz>
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8; format=flowed
    Content-Transfer-Encoding: 8bit
    Injection-Date: Thu, 18 Nov 2021 20:02:23 -0000 (UTC)
    Injection-Info: reader02.eternal-september.org;
    posting-host="f8f74dab200a8f3596099db019172991"; logging-data="5942";
    mail-complaints-to="a...@e...org";
    posting-account="U2FsdGVkX1/zPaGCfuQbzcWOJNuuJXh+"
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
    Thunderbird/91.3.1
    Cancel-Lock: sha1:T1ssnsUA2wNoHVkFAfQ1ZTgjiWs=
    In-Reply-To: <20211118203536.2ed957df@mateusz>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:768488
    [ ukryj nagłówki ]

    On 18/11/2021 20:35, Mateusz Viste wrote:
    >> Dokładnie to oferujesz. Mówisz: "ale uważaj, przed każdym wyjściem z
    >> funkcji musisz zawołać goto". Ja tego nie mówie. Samo prawidłowo
    >> zawoła się to, co ma się zawołać, nie muszę żyć w ciągłym strachu,
    >> mam 1 miejsce a nie 30, do popełnienia błedu.
    > Masz 30 miejsc wyjścia z funkcji? No, to faktycznie przykładny kod.

    Prawidłowe założenie brzmi: masz N wyjśc z funkcji. Zakładanie że "N
    jest małe i sobie jakoś poradzimy" jest absurdalnie niebezpiecznie.

    >> muszę się martwić i mam gwarantowane wywołanie sei(), Ty musisz się
    >> męczyć i przeglądać kod, czy ktoś nie zapomniał zawołać goto.
    > #define return goto gameover

    Wylatujesz za drzwi nie tylko z kopniakiem, ale jeszcze z wilczym
    biletem na pracę w IT.

    > albo
    > static void func_internal() {
    > [...]
    > }
    > void func() {
    > _disable();
    > func_internal();
    > _enable();
    > }

    Wlasnie napisałeś kiepski, ale emulator RAII. I po co było bredzić o goto?

    > Wskazuję tylko, że innowacja którą przedstawiasz jest bardzo dyskusyjna.

    To nie jest innowacja, tylko codzienność pracy programisty C++.

    > I nie jest to z mojej strony krytyka C++ (którego znam słabo)

    Widzę.

    >, tylko
    > podanego przykładu.

    Podany przykład jest uproszczony na potrzeby usenetu. Jeśli nie widzisz
    abstrakcyjnie zastosowania RAII, ale widzisz przykład włączenia przerwań
    jako jedyne zastosowanie, to nic nie poradzę.

    > Zapytałem o jakiś poważniejszy przykład, ale
    > wolałeś się obrazić.

    Ja się nie obrażam, mnie w ogóle ciezko obrazić.

    Poważniejszy przykład mogę podrzucić jeśli chcesz, ale czy aby na pewno
    pojmiesz o co chodzi? Sprawdźmy jakiś trywialny:

    char value = cast_with_range_check< char >( intValue );

    W kodzie produkcyjnym nic się nie zmienia, w kodzie dla unit testów masz
    tam w środku zaawansowane sprawdzanie czy wartość mieści się w zakresie
    typu.

    >> Wiec albo chcesz mieć szambo, jak proponujesz, albo automatyzację. I
    >> tak, nie da się tego zrobic w C.
    > Patrz wyżej.

    Wyżej napisałes emulację RAII. I napisałeś ja w zasadzie tylko po to aby
    nie użyć C++, ale użyć RAII. Troche żałosne.

    Mam kolegę, głeboko wierzącego w wyższosć C nas wszystkim, w którego
    kodzie napotkałem prawie kompletną emulację obiektowości, wliczając
    tablice wirtualne, na C i z kupą bugów. Zapytany o to po ch... to pisać
    od zera, skoro to samo ma w C++, obraził się.

    Napisałeś kiepski emualtor RAII tylko po to aby nie używać RAII. Widzę
    podobieństwa między tymi sytuacjami.

    >> Tak. Ja inwestuje raz. Kod taki (o podobnej funkcjonalnosci)
    >> napisałem już kilka razy, komercyjnie. Za każdym razem używałem go w
    >> setkach, jak nie tysiącach miejsc. Więc ja zapłaciłem raz, a dobrze.
    > No fajnie, ale to też nie ma nic wspólnego z C++.

    Kod sprawdzający statycznie flagi przekazywane do rejestrów sprzetowych?
    Ma bardzo dużo.

    >> Pisałeś kiedyś coś więcej, niż hello world?
    > Już któryś raz zamiast pokazać kod stosujesz argumenty ad personam.

    Kodu Ci nie pokaże, bo został sprzedany i nie jest moją własnościa.
    Musiałbym napisac go ponownie ale mi się najzwyczajneij nie chce,
    ponieważ nigdy go nie użyjesz. A udowanianie oczywistości nie jest tego
    warte.

    > To
    > świadczy zarówno o tobie, jak i o idei którą tak zaciekle bronisz.

    Ja tu bronie jakiejś idei? Robisz gówniany kod na goto, który świadczy o
    zerowej wiedzy z zakresu bezpieczeństwa kodu i to w imię "Łojezu, nie
    wolno używać C++, bo przyjdzie babajaga i zje!" i to ja czegoś zaciekle
    bronię? Żartujesz?

    To co, piszesz to zabezpieczneie przed podaniem złej flagi do uartu, w C?

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: