🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #310175

Re: Coroutines w (GNU) C

#310175
From: heby
Date: Wed, 11 Mar 2020 17:37
96 lines
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-mail
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>

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