Article View: pl.comp.lang.c
Article #310175Re: Coroutines w (GNU) C
From: heby
Date: Wed, 11 Mar 2020 17:37
Date: Wed, 11 Mar 2020 17:37
96 lines
5863 bytes
5863 bytes
On 11/03/2020 07:42, Maciek Godek wrote: >>> Abstrakcje w C są dobrze dobrane do zadań, do których używa się C. >> C nie ma abstrakcji poza void*. > Mechanizmy abstrakcji w C: > - funkcje Są w C++. > - makra Są w C++. > - typy uzytkownika (struktury, unie, wyliczenia) Są w C++, tylko tam są na serio. > - wskazniki na typy konkretne Są w C++, tylko tam są na serio. > - wskazniki na funkcje Są w C++ tylko tam są na serio. Natomaist C++ dodaje Ci masę innych rzeczy to tych pseudo abstrakcji. Między innymi dodaje prawdziwe abstrakcje takie jak szablony. Można oczywiście bredzić o tym że funkcja to taki rodzaj abstrakcji. W zasadzie za chwile dolecisz to debilnego wniosku że asembler jest abstrakcyjny bo ma rejestry i jsr. Daj se spokój. >> Nikt, potwórzę, nikt nie pisał nic w tym wątku o używaniu coroutines w >> systemie embedded. > Ja pisałem o tym od początku. Nie, Ty miałeś "swoje powody" których nie dało się wydobyć siłą i długo trwało zanim objawiłeś światu co ch... komu popsuty kod. >> Nie, na tym polega usilnie szukanie zastosowań Twójego gównianego >> kawałka kodu który jest gówniany z definicji, wliczając w to rechot >> rezty świata na wiki. > Tzn. na tym, że rozumiem, jak działa to, czego używam? Ależ masz prawo używać. Jęsli migasz dwiema diodami to przyda się jak znalazł. >>> Nie wiem skąd Ci strzelił ten asm. >> Bo C to taki abstrakcyjny asembler. > Argumentum ad sloganum? Nie, tak wygladały początki Unixa. Mieli do dyspozycji albo assembler albo cokoliwek milimter wyżej. I po kilku próbach narodził się C. Jest milimetr wyżej. Główna róznica jest taka że ma inne (więcej) typy danych niż BCPL. Cała reszta to nieistotne duperele. C powstał po to aby pisać bardziej abstrakcyjnie jądra unixa. Nie interesował ich stowrzenie języka bezpiecznego, wygodnego, czytelnego. Chodziło o napierniczanie w czymś choć odrobinę lepszym niż asm. Cały jezyk C to takie popłuczyny po asm. To całe i++ wszak żywcem wyjęte z kilku architektur cpu. >>> Asembler jest złą abstrakcją, bo mocno utrudnia przenośność programów pomiędzy procesorami. >> No dostrzegasz ironii? > ? Nie dostrzegasz. >>>> Wręcz odwrotnie, namawiam embedowców aby używali C++ ale NIE używali >>>> STL. >>> Czyli, namawiasz żeby używali C++, ale żeby nie używali C++? >> Masz problem w pojmowaniu że C++ to kilka róznych koncepcji i nie ma >> obowiązku używać wszystkich. > "Kilka" to lekkie niedoszacowanie. Kilka w zastosowaniach embedded. Silne typy, RAII, szablony. Na początek wystarczy. > Ale właśnie sęk w tym, że zawsze znajdzie się w internecie jakiś czesiek Sebastian. >, który będzie udowadniał innym, że technologia, której używają, jest zacofana, bo nie jest technologią, której on używa. Wiadomo, Twój punkt widzenia jest bardziej obiektywny bo jest bardziej subiektywny, najmojszy. Zrobisz karierę w polityce. > A jak mu wykażą, że ta ich technologia jest adekwatna do problemów, które rozwiązują Ale ty dopiero po solidnym pieprzenięciu w głowę argumentacją wymyśliłeś sobie że to ma zastosowanie w jakimś marginalnym, niszowym embedded w którym i tak pewnie tego nikt nie robi czegoś równie bez sensu nawet majac 60+. Co i tak do dzisiaj traktuje jako wymówkę. Masz straszne parcie na udowodnienie światu że te dziadowskie korutyny mają sens. Sorry, nie mają, tak ogólnie. Jeśli pytałeś czy mozna za pomocą kilku mark migać didoami to tak, można. Jesli pytałeś czy te korutyny nadają się do czegkolwiek innego to nie, nie nadają się. bez względu na to czy napisałeś je w C czy C++. Są do dupy całkiem obiektywnie.
Technical Details
Message-ID:
<r4b7k5$i1r$1@dont-email.me>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mailReferences:
<4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <3e82a546-8a74-4fe0-846d-3e343b7be2be@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!weretis.net!feeder7.news.weretis.net!eternal-september.org!feeder.eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail From: heby <heby@poczta.onet.pl> Newsgroups: pl.comp.lang.c Subject: Re: Coroutines w (GNU) C Date: Wed, 11 Mar 2020 18:37:06 +0100 Organization: A noiseless patient Spider Lines: 96 Message-ID: <r4b7k5$i1r$1@dont-email.me> References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <r0njjv$740$1@dont-email.me> <0e0786af-7b58-4070-b8cd-81f1bda1f432@googlegroups.com> <r0q9iv$23b$1@dont-email.me> <20200128233003.4bf9d9eb@mateusz> <1a207604-09fa-43f2-8d0a-e3ff51b183f4@googlegroups.com> <r0sf4i$d46$1@dont-email.me> <5e5f4069$0$519$65785112@news.neostrada.pl> <r3t1sc$r41$1@dont-email.me> <5e645e9a$0$17354$65785112@news.neostrada.pl> <r42dg3$r77$1@dont-email.me> <5e64e5a9$0$17350$65785112@news.neostrada.pl> <r42p67$o5b$1@dont-email.me> <5e6555bd$0$554$65785112@news.neostrada.pl> <r43mjb$fg2$1@dont-email.me> <5e6595ce$0$17348$65785112@news.neostrada.pl> <r46320$5hf$1@dont-email.me> <44f694e7-bd52-4b71-aa69-678f8840c27c@googlegroups.com> <r46apv$q4c$1@dont-email.me> <d42e80c7-3cd2-4ce7-a31c-5e39278bffa7@googlegroups.com> <r48ppk$aoi$1@dont-email.me> <89cfb34d-bd57-4a7a-8c94-c2dcdeb02e03@googlegroups.com> <r49vg7$fa1$1@dont-email.me> <3e82a546-8a74-4fe0-846d-3e343b7be2be@googlegroups.com> Mime-Version: 1.0 Injection-Date: Wed, 11 Mar 2020 17:37:09 -0000 (UTC) Injection-Info: reader02.eternal-september.org; posting-host="5b7a908196e4cd6239a572a27fb4b65c"; logging-data="18491"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18qTG9O2w41pbbXukEG/Bx9" User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.5.0 Cancel-Lock: sha1:UJcZbhszP00ouz+kwLjYdfEsrnQ= In-Reply-To: <3e82a546-8a74-4fe0-846d-3e343b7be2be@googlegroups.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit