🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Coroutines w (GNU) C

#310182
From: brak
Date: Thu, 12 Mar 2020 19:17
28 lines
4023 bytes
On Wednesday, March 11, 2020 at 9:35:43 PM UTC+1, Maciek Godek wrote:
(...)

Pozwolę sobie wtrącić swoje trzy grosze w tą ciekawa dyskusję, 
jako programista C a czasem C++ z przyuczenia :)

> > > Jednak, jeżeli idzie o mnie, raczej bym wolał wariant bez gówna.
> > 
> > Niezupełnie, Twój warian to własne gówno w postaci korutyn, bez stosu, 
> > na makrach. Prawda jest taka, drogi misiaczku, że NAWET doświadczony 
> > programista C pogonił by Cie za to kijem na code review. Wiem, bo 
> > pytałem. Nawet programiści C kreślą pewną granicę dziadostwa której nie 
> > przekraczają.
> 
> A ci programiści, których pytałeś, to jakie systemy zbudowali?
> 
> I jakie alternatywy proponowali dla rozwiązania tego problemu?
> 
> Zresztą programowanie jednak ma to do siebie, że jest mocno subiektywne, i różni ludzie mają różne style. Na przykład gość, który określił to rozwiązanie "worst piece of C hackery", sam zastosował je w swoim kodzie.
> 
> Bo najwidoczniej alternatywy były jeszcze gorsze.
> 
 IMHO dyskusja C vs C++ nie powinna abstrahować od platformy na jakiej
uruchamiany jest program. W tzw. embedded oryginalny problem rozwiązany jest przez OS-a a raczej RTOS-a z standardowym mechanizmem pracy współbieżnej tj.
IRQ -> ISR -> DSR -> Thread bez względu na to czy jest to C czy C++.

 Taką implementacje korutyn na preprocesorze natychmiast wyrzuciłbym do śmietnika natomiast propozycje użycia boosta na uC z 128 kB RAM-u tez wyrzuciłem do śmietnika. Na platformie, której używam (uC 128 kB RAM, 1MB Flash) RTOS + C jest całkowicie wystarczające i wygodne (zgodnie z radą programisty C++).
BTW. kernel i okolice używanego RTOS-a są napisane w C++.
Technical Details
Message-ID: <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <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> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:a446:: with SMTP id n67mr9497166qke.298.1584040644227;        Thu, 12 Mar 2020 12:17:24 -0700 (PDT)
X-Received: by 2002:a25:e08e:: with SMTP id x136mr10900476ybg.238.1584040643464; Thu, 12 Mar 2020 12:17:23 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.unit0.net!weretis.net!feeder7.news.weretis.net!proxad.net!feeder1-2.proxad.net!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Thu, 12 Mar 2020 12:17:23 -0700 (PDT)
In-Reply-To: <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: google-groups.googlegroups.com; posting-host=94.75.104.42; posting-account=bPtBjgoAAAAfdBpBzgPHKLRKJStITuTz
NNTP-Posting-Host: 94.75.104.42
References: <4375b52d-ba21-462a-8844-9bd1a02e9ece@googlegroups.com> <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> <31adf521-11e2-4e85-ae62-2e9bb7b9f0a6@googlegroups.com> <20200311150044.15019d69@mateusz> <r4b8nv$oiq$2@dont-email.me> <dc2df496-2154-4f6b-949e-a326b66b7fe9@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <0148e4d2-49ca-43c2-9edf-cde5b90096f4@googlegroups.com>
Subject: Re: Coroutines w (GNU) C
From: brak <jerzdy@gmail.com>
Injection-Date: Thu, 12 Mar 2020 19:17:24 +0000
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit