Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #121305 > unrolled thread
| Started by | Sam <sam@email-scan.com> |
|---|---|
| First post | 2024-12-27 21:51 -0500 |
| Last post | 2024-12-29 19:50 +0200 |
| Articles | 20 on this page of 41 — 13 participants |
Back to article view | Back to comp.lang.c++
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: We have a new standard! Sam <sam@email-scan.com> - 2024-12-27 21:51 -0500
Re: We have a new standard! "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-27 20:11 -0800
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-28 10:19 +0000
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-28 16:20 +0100
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 09:32 +0000
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-29 14:51 +0100
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 16:16 +0000
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-30 08:34 +0100
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-30 09:34 +0000
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-30 15:37 +0100
Re: We have a new standard! Muttley@DastardlyHQ.org - 2024-12-30 15:08 +0000
Re: We have a new standard! James Kuyper <jameskuyper@alumni.caltech.edu> - 2024-12-30 18:06 -0500
Re: We have a new standard! Michael S <already5chosen@yahoo.com> - 2025-01-01 17:55 +0200
Re: We have a new standard! Muttley@dastardlyhq.com - 2025-01-01 16:05 +0000
Re: We have a new standard! Paavo Helde <eesnimi@osa.pri.ee> - 2024-12-30 00:12 +0200
Re: We have a new standard! Michael S <already5chosen@yahoo.com> - 2024-12-30 00:44 +0200
Re: We have a new standard! Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-30 03:17 -0800
Re: We have a new standard! boltar@caprica.org - 2024-12-30 12:00 +0000
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-30 15:52 +0100
Re: We have a new standard! Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-30 18:06 -0800
Re: We have a new standard! Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> - 2024-12-30 22:26 -0500
Re: We have a new standard! Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-30 03:14 -0800
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-30 16:05 +0100
Re: We have a new standard! "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-30 16:02 -0800
Re: We have a new standard! Tim Rentsch <tr.17687@z991.linuxsc.com> - 2024-12-30 17:58 -0800
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-31 10:54 +0100
Re: We have a new standard! "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2024-12-31 13:40 -0800
Re: We have a new standard! Michael S <already5chosen@yahoo.com> - 2024-12-30 13:25 +0200
Re: We have a new standard! David Brown <david.brown@hesbynett.no> - 2024-12-30 17:15 +0100
Re: We have a new standard! Michael S <already5chosen@yahoo.com> - 2025-01-04 21:40 +0200
Re: We have a new standard! Phillip <nntp@fulltermprivacy.com> - 2024-12-28 13:05 -0500
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 09:43 +0000
Re: We have a new standard! Sam <sam@email-scan.com> - 2024-12-29 08:50 -0500
Re: We have a new standard! wij <wyniijj5@gmail.com> - 2024-12-29 22:33 +0800
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 16:17 +0000
Re: We have a new standard! wij <wyniijj5@gmail.com> - 2024-12-30 01:08 +0800
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 17:11 +0000
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 16:15 +0000
Re: We have a new standard! Sam <sam@email-scan.com> - 2024-12-29 11:57 -0500
Re: We have a new standard! Muttley@dastardlyhq.com - 2024-12-29 17:08 +0000
Re: We have a new standard! Michael S <already5chosen@yahoo.com> - 2024-12-29 19:50 +0200
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
| From | Pavel <pauldontspamtolk@removeyourself.dontspam.yahoo> |
|---|---|
| Date | 2024-12-30 22:26 -0500 |
| Message-ID | <ewJcP.34519$N41.18016@usenetxs.com> |
| In reply to | #121333 |
Michael S wrote: > On Mon, 30 Dec 2024 00:12:31 +0200 > Paavo Helde <eesnimi@osa.pri.ee> wrote: > >> On 29.12.2024 15:51, David Brown wrote: >> >>> You can have an informed opinion about C++, and agree or disagree >>> with the opinions of the committee members. >>> >>> But what you don't get to do - or at least, don't get to do if you >>> want to be viewed seriously - is spout an /uninformed/ opinion. >>> That's no more than mindless prejudice, and of no interest to >>> anyone. >> >> Thanks David, for standing against the trolls. It's a pity that >> personal freedoms are often interpreted as "my ignorant opinion has >> exactly the same worth as your expert knowledge". >> >> I'm all for personal freedoms, but my freedoms end where they might >> hurt other people, or the nature for that matter. Boasting ignorant >> jumble can easily do that. >> > > It seems that Muttley@dastardlyhq.com still didn't figure out why > stating strong opinion about something that you not just didn't learn > in depth, but didn't even look at casually is less than optimal. > Tried to apply your principle by not opining on US tax code before learning it in depth. Neither worked. -Pavel
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2024-12-30 03:14 -0800 |
| Message-ID | <86wmfhbexa.fsf@linuxsc.com> |
| In reply to | #121332 |
Paavo Helde <eesnimi@osa.pri.ee> writes: > On 29.12.2024 15:51, David Brown wrote: > >> You can have an informed opinion about C++, and agree or disagree >> with the opinions of the committee members. >> >> But what you don't get to do - or at least, don't get to do if you >> want to be viewed seriously - is spout an /uninformed/ opinion. >> That's no more than mindless prejudice, and of no interest to >> anyone. > > Thanks David, for standing against the trolls. It's a pity that > personal freedoms are often interpreted as "my ignorant opinion has > exactly the same worth as your expert knowledge". > > I'm all for personal freedoms, but my freedoms end where they might > hurt other people, or the nature for that matter. Boasting ignorant > jumble can easily do that. I agree with much of what you say. I don't agree with the last sentence. Depending on other factors, a public broadcast of a personal statement can produce enough of a negative effect so that it should be prohibited, but simply boasting ignorant jumble does not, by itself, fall into that category. The nature of posting to a newsgroup like this one does nothing to change that. Personal opinion: the comments from David Brown do more harm than good here. At some level he is just a guilty of giving a preachy opinion as the person he is responding to. It seems likely that his statements will exacerbate the offending behavior rather than diminish it.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-12-30 16:05 +0100 |
| Message-ID | <vkucru$1lt2f$3@dont-email.me> |
| In reply to | #121336 |
On 30/12/2024 12:14, Tim Rentsch wrote: > Personal opinion: the comments from David Brown do more harm than > good here. At some level he is just a guilty of giving a preachy > opinion as the person he is responding to. It seems likely that > his statements will exacerbate the offending behavior rather than > diminish it. Opinion noted. I disagree that I was giving a "preachy /opinion/", but I can accept that my posts were somewhat "preachy" in style. What influence it may have on Muttley (or anyone else giving unjustified opinions on a standard they have not looked at) remains to be seen - I don't think anyone is in a position to predict accurately. (I don't always agree with such feedback, but I do always try to give it fair consideration.) Perhaps we can have a more topical discussion about the actual changes and new features in C++23?
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-30 16:02 -0800 |
| Message-ID | <vkvcae$1rv21$1@dont-email.me> |
| In reply to | #121336 |
On 12/30/2024 3:14 AM, Tim Rentsch wrote: [...] > Personal opinion: the comments from David Brown do more harm than > good here. At some level he is just a guilty of giving a preachy > opinion as the person he is responding to. It seems likely that > his statements will exacerbate the offending behavior rather than > diminish it. I had some arguments with David Brown. Everything was rather cordial. No flame wars, or anything like that.
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2024-12-30 17:58 -0800 |
| Message-ID | <86o70sbol2.fsf@linuxsc.com> |
| In reply to | #121348 |
"Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> writes: > On 12/30/2024 3:14 AM, Tim Rentsch wrote: > [...] > >> Personal opinion: the comments from David Brown do more harm than >> good here. At some level he is just a guilty of giving a preachy >> opinion as the person he is responding to. It seems likely that >> his statements will exacerbate the offending behavior rather than >> diminish it. > > I had some arguments with David Brown. Everything was rather > cordial. No flame wars, or anything like that. Please note that my comments were not about David Brown in general but only about the statements of his that were quoted in the posting I was responding to. What I said was not meant as a general statement, only a specific one, and was not meant about David as a person but only about the (quoted) words that appeared in the posting.
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-12-31 10:54 +0100 |
| Message-ID | <vl0evt$26658$1@dont-email.me> |
| In reply to | #121349 |
On 31/12/2024 02:58, Tim Rentsch wrote: > "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> writes: > >> On 12/30/2024 3:14 AM, Tim Rentsch wrote: >> [...] >> >>> Personal opinion: the comments from David Brown do more harm than >>> good here. At some level he is just a guilty of giving a preachy >>> opinion as the person he is responding to. It seems likely that >>> his statements will exacerbate the offending behavior rather than >>> diminish it. >> >> I had some arguments with David Brown. Everything was rather >> cordial. No flame wars, or anything like that. (I have been less than cordial with some people - sometimes to an extent that I later regretted.) > > Please note that my comments were not about David Brown in general > but only about the statements of his that were quoted in the posting > I was responding to. What I said was not meant as a general > statement, only a specific one, and was not meant about David as a > person but only about the (quoted) words that appeared in the > posting. And that's all fine by me. """ Well, sir, my friends praise me and in so doing make a fool of me, while my enemies tell me plainly that I am a fool. Therefore my enemies help me gain knowledge of myself, while my friends deceive me. """ Twelfth Night (Not that I view Tim as "my enemy" in any sense!)
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2024-12-31 13:40 -0800 |
| Message-ID | <vl1ocl$2dh2f$2@dont-email.me> |
| In reply to | #121352 |
On 12/31/2024 1:54 AM, David Brown wrote: > On 31/12/2024 02:58, Tim Rentsch wrote: >> "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> writes: >> >>> On 12/30/2024 3:14 AM, Tim Rentsch wrote: >>> [...] >>> >>>> Personal opinion: the comments from David Brown do more harm than >>>> good here. At some level he is just a guilty of giving a preachy >>>> opinion as the person he is responding to. It seems likely that >>>> his statements will exacerbate the offending behavior rather than >>>> diminish it. >>> >>> I had some arguments with David Brown. Everything was rather >>> cordial. No flame wars, or anything like that. > > (I have been less than cordial with some people - sometimes to an extent > that I later regretted.) Afaict, it basically goes up to, shit happens? The fact that you regretted some of them means you are a good person at heart. I think, perhaps, that we all have been there wrt regretting something on the Wild World of Usenet. ;^) Happy New Year, David! :^) >> Please note that my comments were not about David Brown in general >> but only about the statements of his that were quoted in the posting >> I was responding to. What I said was not meant as a general >> statement, only a specific one, and was not meant about David as a >> person but only about the (quoted) words that appeared in the >> posting. > > And that's all fine by me. > > > """ > Well, sir, my friends praise me and in so doing make a fool of me, while > my enemies tell me plainly that I am a fool. Therefore my enemies help > me gain knowledge of myself, while my friends deceive me. > """ > > Twelfth Night > > > > (Not that I view Tim as "my enemy" in any sense!) Indeed.
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2024-12-30 13:25 +0200 |
| Message-ID | <20241230132544.00005f92@yahoo.com> |
| In reply to | #121321 |
On Sun, 29 Dec 2024 14:51:17 +0100 David Brown <david.brown@hesbynett.no> wrote: > On 29/12/2024 10:32, Muttley@dastardlyhq.com wrote: > > On Sat, 28 Dec 2024 16:20:57 +0100 > > David Brown <david.brown@hesbynett.no> gabbled: > >> On 28/12/2024 11:19, Muttley@dastardlyhq.com wrote: > >>> Being serious, I haven't even checked whats new in it but going > >>> by C++ 2020 > >>> it'll be yet more syntactic soup to support features absolutely > >>> no one outside > >>> of ivory tower academic discussions asked for. It'll just add yet > >>> morecomplexity to compilers, hence more potential bugs and make > >>> the C++ learning > >>> curve even steeper meaning yet more new programmers abandon it - > >>> or don't > >>> even start - for languages such as Python. > >>> > >> > >> Ah, yes - the classic well-reasoned argument. Why would one ever > >> want to /look/ at the new standard before condemning it? > > > > Ah yes, the same logic that has produced cars with ever more, > > harder to use complexity that no one wants. > > No, not remotely. But then, you knew that before making what you > mistakenly thought was a smart or witty reply. > > If you don't like the complexity of newer C++ standards, that's fine. > If you don't think it is a good direction for the language, fair > enough. You can choose a different language, or stick to an older > standard, or make your own language, or get involved in the C++ > standardisation processes and try to influence them. > > You can have an informed opinion about C++, and agree or disagree > with the opinions of the committee members. > > But what you don't get to do - or at least, don't get to do if you > want to be viewed seriously - is spout an /uninformed/ opinion. > That's no more than mindless prejudice, and of no interest to anyone. > > So go away, and read about C++23. Learn what is new or changed. > /Then/ you can come back and tell us what you don't like about it - > or perhaps you'll find some things that you /do/ like about it. > Either way, you'll be at least vaguely qualified to express an > opinion on it. > > <https://en.wikipedia.org/wiki/C%2B%2B23> > Comments after cursory view: C++20 introduces two promising language features - concepts and coroutines. Both were introduces without proper support in standard library. Absence of support in library in both cases was justified by probably correct claim that the best library constructs are still in research state, non-crystallized. The hope was that universal availability of this features at compiler level will help to best library constructs to mature. In case of coroutines developers were left with choice of 3 options: 1. To write a lot of boiler-plate code each time they a going to use coroutines. 2. To try to organize repetitive patterns in the library (likely template library) of their own and reuse it between parts of the programs and multiple projects. Hopefully, share with community. Hopefully, under liberal license. 3. Don't use coroutines In case of concepts, the choice was even narrower: 1. Use concepts when you occasionally are writing container-like or algorithm-like template of your own. 2. Don't use concepts. Nobody was realistically expecting that grassroots developers will use concepts to develop comprehensive widely reusable library that duplicates functionality of STL, but brings advantage of sane error messages. So, where we are 3 years later? W.r.t. concepts, in the same unfortunate place. W.r.t. coroutines, library provides std::generator. I didn't look at it yet. Hopefully, it works. Hopefully it is easy to use. But it is just one of many possible uses of coroutines, and I would think that it is not the one that could be considered most common. Did I miss something?
[toc] | [prev] | [next] | [standalone]
| From | David Brown <david.brown@hesbynett.no> |
|---|---|
| Date | 2024-12-30 17:15 +0100 |
| Message-ID | <vkugvg$1n0oa$1@dont-email.me> |
| In reply to | #121338 |
On 30/12/2024 12:25, Michael S wrote: > On Sun, 29 Dec 2024 14:51:17 +0100 > David Brown <david.brown@hesbynett.no> wrote: > >> On 29/12/2024 10:32, Muttley@dastardlyhq.com wrote: >>> On Sat, 28 Dec 2024 16:20:57 +0100 >>> David Brown <david.brown@hesbynett.no> gabbled: >>>> On 28/12/2024 11:19, Muttley@dastardlyhq.com wrote: >>>>> Being serious, I haven't even checked whats new in it but going >>>>> by C++ 2020 >>>>> it'll be yet more syntactic soup to support features absolutely >>>>> no one outside >>>>> of ivory tower academic discussions asked for. It'll just add yet >>>>> morecomplexity to compilers, hence more potential bugs and make >>>>> the C++ learning >>>>> curve even steeper meaning yet more new programmers abandon it - >>>>> or don't >>>>> even start - for languages such as Python. >>>>> >>>> >>>> Ah, yes - the classic well-reasoned argument. Why would one ever >>>> want to /look/ at the new standard before condemning it? >>> >>> Ah yes, the same logic that has produced cars with ever more, >>> harder to use complexity that no one wants. >> >> No, not remotely. But then, you knew that before making what you >> mistakenly thought was a smart or witty reply. >> >> If you don't like the complexity of newer C++ standards, that's fine. >> If you don't think it is a good direction for the language, fair >> enough. You can choose a different language, or stick to an older >> standard, or make your own language, or get involved in the C++ >> standardisation processes and try to influence them. >> >> You can have an informed opinion about C++, and agree or disagree >> with the opinions of the committee members. >> >> But what you don't get to do - or at least, don't get to do if you >> want to be viewed seriously - is spout an /uninformed/ opinion. >> That's no more than mindless prejudice, and of no interest to anyone. >> >> So go away, and read about C++23. Learn what is new or changed. >> /Then/ you can come back and tell us what you don't like about it - >> or perhaps you'll find some things that you /do/ like about it. >> Either way, you'll be at least vaguely qualified to express an >> opinion on it. >> >> <https://en.wikipedia.org/wiki/C%2B%2B23> >> > > Comments after cursory view: > > C++20 introduces two promising language features - concepts and > coroutines. Both were introduces without proper support in standard > library. Absence of support in library in both cases was justified by > probably correct claim that the best library constructs are still in > research state, non-crystallized. The hope was that universal > availability of this features at compiler level will help to best > library constructs to mature. > > In case of coroutines developers were left with choice of 3 options: > 1. To write a lot of boiler-plate code each time they a going to use > coroutines. > 2. To try to organize repetitive patterns in the library (likely > template library) of their own and reuse it between parts of the > programs and multiple projects. Hopefully, share with community. > Hopefully, under liberal license. > 3. Don't use coroutines > > In case of concepts, the choice was even narrower: > 1. Use concepts when you occasionally are writing container-like or > algorithm-like template of your own. > 2. Don't use concepts. > > Nobody was realistically expecting that grassroots developers will use > concepts to develop comprehensive widely reusable library that > duplicates functionality of STL, but brings advantage of sane error > messages. > > > So, where we are 3 years later? > W.r.t. concepts, in the same unfortunate place. > W.r.t. coroutines, library provides std::generator. I didn't look at it > yet. Hopefully, it works. Hopefully it is easy to use. But it is just > one of many possible uses of coroutines, and I would think that > it is not the one that could be considered most common. > > > Did I miss something? > Disclaimer - my work is mostly with long-running projects, and the standard to use is generally set at the start and left unchanged (I have a couple of projects that are still "live" written in C90). So C++17 is the latest C++ version I have used in real work. Additionally, working with small embedded systems means I use a somewhat restricted subset of the language and a very restricted subset of the standard library. So while I try to learn about newer standards, my experience of some features is limited. I would say that the major changes in C++20 are concepts, coroutines, modules and ranges. So there was actually quite a lot there. I like the idea of concepts. The syntax is somewhat ugly, but the little I have tried so far has been good. It's a lot nicer than enable_if<>, and it seems to live up to the promise of less horrible error messages from templates. (There seems to be an inevitable issue with C++, since everything has to be squeezed into a base syntax that dates back to C and was designed long before modern C++ ideas, that syntax will be ugly and at least some new features take a lot of effort to understand. I wonder if anything will come of the "Cpp2" project, aiming to re-do C++ with a newer syntax?) I also like the idea of modules, but implementation has taken longer than most C++20 features. I look forward to trying them now that there is an "official" gcc 14 toolchain package for embedded ARM. I have no experience with coroutines, so I can't really judge them. They do not appear to me to be a "thread alternative" - rather, they are trying to get the kind of lightweight asynchronous support that is increasingly popular in other languages (Python, Go, Javascript, etc.). Like C++ threading, locks and atomics, they don't really fit in the kind of system I work with. Ranges can be a good way to express some things in code, but again are somewhat crippled by a very verbose syntax compared to, say, list comprehensions in Python. (I don't know how something better could have been made and still fit within C++.) std::format is another major library addition. Most of the rest of C++20 was evolutionary, rather than revolutionary. As for C++23, I think most of the changes are small, but some of them will be very useful. Once "import std;" is properly supported by common toolchains, that will be a very nice feature that pretty much justifies the whole modules feature. For those that like ranges, the "views" library gives lazy evaluation. Many people who deal with non-ASCII characters will appreciate named UTF-8 characters. The multi-dimensional [] operator is something people have wanted since the first version of C++. As a fan of std::optional<> and std::variant<>, I think std::expected<> is a natural addition. I hope to see that as common practice instead of exceptions, which do not fit well with my line of work. I expect that the next big project I start on will use C++23, to pick up some of these small improvements. I don't expect to use more than a small fraction of the new C++23 features - but then, I never use more than a fraction of C++ features. Features I am looking forward to in the future are contracts, reflection / metaprogramming, pattern matching, and perhaps static exceptions. They keep getting delayed, unfortunately.
[toc] | [prev] | [next] | [standalone]
| From | Michael S <already5chosen@yahoo.com> |
|---|---|
| Date | 2025-01-04 21:40 +0200 |
| Message-ID | <20250104214013.00003e18@yahoo.com> |
| In reply to | #121346 |
On Mon, 30 Dec 2024 17:15:43 +0100 David Brown <david.brown@hesbynett.no> wrote: > On 30/12/2024 12:25, Michael S wrote: > > On Sun, 29 Dec 2024 14:51:17 +0100 > > David Brown <david.brown@hesbynett.no> wrote: > > > > > > Comments after cursory view: > > > > C++20 introduces two promising language features - concepts and > > coroutines. Both were introduces without proper support in standard > > library. Absence of support in library in both cases was justified > > by probably correct claim that the best library constructs are > > still in research state, non-crystallized. The hope was that > > universal availability of this features at compiler level will help > > to best library constructs to mature. > > > > In case of coroutines developers were left with choice of 3 options: > > 1. To write a lot of boiler-plate code each time they a going to use > > coroutines. > > 2. To try to organize repetitive patterns in the library (likely > > template library) of their own and reuse it between parts of the > > programs and multiple projects. Hopefully, share with community. > > Hopefully, under liberal license. > > 3. Don't use coroutines > > > > In case of concepts, the choice was even narrower: > > 1. Use concepts when you occasionally are writing container-like or > > algorithm-like template of your own. > > 2. Don't use concepts. > > > > Nobody was realistically expecting that grassroots developers will > > use concepts to develop comprehensive widely reusable library that > > duplicates functionality of STL, but brings advantage of sane error > > messages. > > > > > > So, where we are 3 years later? > > W.r.t. concepts, in the same unfortunate place. > > W.r.t. coroutines, library provides std::generator. I didn't look > > at it yet. Hopefully, it works. Hopefully it is easy to use. But it > > is just one of many possible uses of coroutines, and I would think > > that it is not the one that could be considered most common. > > > > > > Did I miss something? > > > <snip> > > I have no experience with coroutines, so I can't really judge them. > They do not appear to me to be a "thread alternative" - rather, they > are trying to get the kind of lightweight asynchronous support that > is increasingly popular in other languages (Python, Go, Javascript, > etc.). Like C++ threading, locks and atomics, they don't really fit > in the kind of system I work with. > The version of coroutines that founded its way into C++ has its roots in C# (or may be in F#, but F# being primarily functional, is so different that it's hard to be sure). Actually, in C# they appeared first under not particularly illuminating name 'Iterators' (a.k.a. IEnumerable<T>) and later on as a part of Async/Await pattern. Python and Javascript (and Swift and Rust? I am not sure about it.) borrowed from C#. Go goroutines (that were very recently borrowed by Java under the name 'virtual threads') are quite different. Although it is true that main motivation of people that initiated inclusion of coroutines in C++ is implementation of of async/await and of "iterators" (in C++, following Python, I suppose, they are named 'generators') they certainly can be used for other things too. In particular, C++ coroutines can be utilized for implementing things that today tend to be written as state machines, in almost sequential coding style. In this role they look like a useful tool for "neither big nor tiny" sort of embedded software that, according to my understanding, happens to be the job that pays your bills. Originally, I wanted to give an example of bit-banging implementation of monitoring of pair of different I2C temperature sensors attached to independent buses, written as a couple of C++ coroutines called from one low-priority task of real-time executive. But then I reconsidered. It's to much work and unlikely to be read by many. Plus, I am rather bad writer. May be, later I'd give simpler examples of what I mean. Or, preferably, you and other readers figure it out by yourselves. The latter is better pedagogically. That is, except for myself.
[toc] | [prev] | [next] | [standalone]
| From | Phillip <nntp@fulltermprivacy.com> |
|---|---|
| Date | 2024-12-28 13:05 -0500 |
| Message-ID | <vkpelh$c5a1$1@dont-email.me> |
| In reply to | #121308 |
On 12/28/24 05:19, Muttley@dastardlyhq.com wrote: > On Fri, 27 Dec 2024 21:51:10 -0500 > Sam <sam@email-scan.com> gabbled: >> Stefan Ram writes: >> >>> According to one web site, C++23 (ISO/IEC 14882:2024) was released >>> October 19, 2024. >>> >>> (Sorry if it was mentioned here then, and I just did not notice!) >> >> Hip-hip-hooray! Finally, finally they addressed the long-standing >> criticism of C++ being too trivial and too simple, and a kids' >> language. At last, there's some meat on those bones. Watch out, Java! >> There's a new boss in town. Real programming languages' specifications >> are measured in pounds, and not a page count. > > Watch out Java? Watch out Perl more like! The title of most write only > language could soon change! > > Being serious, I haven't even checked whats new in it but going by C++ 2020 > it'll be yet more syntactic soup to support features absolutely no one > outside > of ivory tower academic discussions asked for. It'll just add yet > morecomplexity to compilers, hence more potential bugs and make the C++ > learning > curve even steeper meaning yet more new programmers abandon it - or don't > even start - for languages such as Python. > I'm still on C++98 and C++03. Everything beyond that is just bloat to me. ;-)
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-12-29 09:43 +0000 |
| Message-ID | <vkr5ka$sp2b$1@dont-email.me> |
| In reply to | #121311 |
On Sat, 28 Dec 2024 13:05:37 -0500 Phillip <nntp@fulltermprivacy.com> gabbled: >On 12/28/24 05:19, Muttley@dastardlyhq.com wrote: >> On Fri, 27 Dec 2024 21:51:10 -0500 >> Sam <sam@email-scan.com> gabbled: >>> Stefan Ram writes: >>> >>>> According to one web site, C++23 (ISO/IEC 14882:2024) was released >>>> October 19, 2024. >>>> >>>> (Sorry if it was mentioned here then, and I just did not notice!) >>> >>> Hip-hip-hooray! Finally, finally they addressed the long-standing >>> criticism of C++ being too trivial and too simple, and a kids' >>> language. At last, there's some meat on those bones. Watch out, Java! >>> There's a new boss in town. Real programming languages' specifications >>> are measured in pounds, and not a page count. >> >> Watch out Java? Watch out Perl more like! The title of most write only >> language could soon change! >> >> Being serious, I haven't even checked whats new in it but going by C++ 2020 >> it'll be yet more syntactic soup to support features absolutely no one >> outside >> of ivory tower academic discussions asked for. It'll just add yet >> morecomplexity to compilers, hence more potential bugs and make the C++ >> learning >> curve even steeper meaning yet more new programmers abandon it - or don't >> even start - for languages such as Python. >> > >I'm still on C++98 and C++03. Everything beyond that is just bloat to >me. ;-) I would say that C++ 11 did improve things particularly wrt the STL and possibly 2014 was the high point. Beyond that its been as you say pointless bloat that achieves nothing.
[toc] | [prev] | [next] | [standalone]
| From | Sam <sam@email-scan.com> |
|---|---|
| Date | 2024-12-29 08:50 -0500 |
| Message-ID | <cone.1735480216.541864.207895.1000@ripper.email-scan.com> |
| In reply to | #121319 |
Muttley@dastardlyhq.com writes: > On Sat, 28 Dec 2024 13:05:37 -0500 > Phillip <nntp@fulltermprivacy.com> gabbled: >> I'm still on C++98 and C++03. Everything beyond that is just bloat to me. ;-) > > I would say that C++ 11 did improve things particularly wrt the STL and > possibly 2014 was the high point. Beyond that its been as you say pointless > bloat that achieves nothing. I would say that C++17 was also an incremental improvement. But C++20 jumped the shark, when the standardization process was hijacked by Microsoft in order to cram coroutines into the language, which noone wanted, cared, or asked for, simply because the standard threading model in Windows blows chunks, performance wise, and Microsoft desperately needed a multithreading model that did not suck. And things went downhill from that point on…
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-29 22:33 +0800 |
| Message-ID | <286e624077a9eb5d5bed0883c078e6c7e5277435.camel@gmail.com> |
| In reply to | #121320 |
On Sun, 2024-12-29 at 08:50 -0500, Sam wrote: > Muttley@dastardlyhq.com writes: > > > On Sat, 28 Dec 2024 13:05:37 -0500 > > Phillip <nntp@fulltermprivacy.com> gabbled: > > > I'm still on C++98 and C++03. Everything beyond that is just bloat to me. ;-) > > > > I would say that C++ 11 did improve things particularly wrt the STL and > > possibly 2014 was the high point. Beyond that its been as you say pointless > > bloat that achieves nothing. > > I would say that C++17 was also an incremental improvement. > > But C++20 jumped the shark, when the standardization process was hijacked by > Microsoft in order to cram coroutines into the language, which noone wanted, > cared, or asked for, simply because the standard threading model in Windows > blows chunks, performance wise, and Microsoft desperately needed a > multithreading model that did not suck. > > And things went downhill from that point on… > Basically, c++ standard or standardization is political. There are lots of standard committee members' 'old software' to maintain. There is nothing wrong with that. The wrong thing is regarding it as better new technology, especially when libwy is more advanced (idea) than c++standard library by one generation.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-12-29 16:17 +0000 |
| Message-ID | <vkrsmn$12ffl$1@dont-email.me> |
| In reply to | #121323 |
On Sun, 29 Dec 2024 22:33:05 +0800 wij <wyniijj5@gmail.com> gabbled: >with that. The wrong thing is regarding it as better new technology, especi= >ally >when libwy is more advanced (idea) than c++standard library by one generati= >on. Nobody gives a rats arse about your library. Haven't you figured that out yet?
[toc] | [prev] | [next] | [standalone]
| From | wij <wyniijj5@gmail.com> |
|---|---|
| Date | 2024-12-30 01:08 +0800 |
| Message-ID | <e27f49e211b6d0a17d28e9b8205939652125ee91.camel@gmail.com> |
| In reply to | #121326 |
On Sun, 2024-12-29 at 16:17 +0000, Muttley@dastardlyhq.com wrote: > On Sun, 29 Dec 2024 22:33:05 +0800 > wij <wyniijj5@gmail.com> gabbled: > > with that. The wrong thing is regarding it as better new technology, especi= > > ally > > when libwy is more advanced (idea) than c++standard library by one generati= > > on. > > Nobody gives a rats arse about your library. Haven't you figured that out yet? > No problem for me. I just see you people suffering there, maybe enjoying.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-12-29 17:11 +0000 |
| Message-ID | <vkrvrv$13806$1@dont-email.me> |
| In reply to | #121328 |
On Mon, 30 Dec 2024 01:08:29 +0800 wij <wyniijj5@gmail.com> gabbled: >On Sun, 2024-12-29 at 16:17 +0000, Muttley@dastardlyhq.com wrote: >> On Sun, 29 Dec 2024 22:33:05 +0800 >> wij <wyniijj5@gmail.com> gabbled: >> > with that. The wrong thing is regarding it as better new technology, es= >peci=3D >> > ally >> > when libwy is more advanced (idea) than c++standard library by one gene= >rati=3D >> > on. >>=20 >> Nobody gives a rats arse about your library. Haven't you figured that out= > yet? >>=20 > >No problem for me. I just see you people suffering there, maybe enjoying. Having seen some examples of your code I think the suffering would be for anyone stupid enough to try and use your library.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-12-29 16:15 +0000 |
| Message-ID | <vkrsit$12eo6$1@dont-email.me> |
| In reply to | #121320 |
On Sun, 29 Dec 2024 08:50:16 -0500 Sam <sam@email-scan.com> gabbled: >Muttley@dastardlyhq.com writes: > >> On Sat, 28 Dec 2024 13:05:37 -0500 >> Phillip <nntp@fulltermprivacy.com> gabbled: >>> I'm still on C++98 and C++03. Everything beyond that is just bloat to me. >;-) >> >> I would say that C++ 11 did improve things particularly wrt the STL and >> possibly 2014 was the high point. Beyond that its been as you say pointless >> bloat that achieves nothing. > >I would say that C++17 was also an incremental improvement. I'll give you shared_mutex that came with 17, but really that should have been in from 2011 when threading was added. Not having 3 level thread locking from the get go was ridiculous. But the rest of 17 ... meh. >But C++20 jumped the shark, when the standardization process was hijacked by >Microsoft in order to cram coroutines into the language, which noone wanted, >cared, or asked for, simply because the standard threading model in Windows >blows chunks, performance wise, and Microsoft desperately needed a >multithreading model that did not suck. I looked at co-routines and wondered wtf the author(s) was smoking. How its supposed to be simpler than simply using a local state machine beats the fsck out of me.
[toc] | [prev] | [next] | [standalone]
| From | Sam <sam@email-scan.com> |
|---|---|
| Date | 2024-12-29 11:57 -0500 |
| Message-ID | <cone.1735491465.188366.209723.1000@ripper.email-scan.com> |
| In reply to | #121324 |
Muttley@dastardlyhq.com writes: > On Sun, 29 Dec 2024 08:50:16 -0500 > Sam <sam@email-scan.com> gabbled: >> But C++20 jumped the shark, when the standardization process was hijacked by >> Microsoft in order to cram coroutines into the language, which noone wanted, >> cared, or asked for, simply because the standard threading model in Windows >> blows chunks, performance wise, and Microsoft desperately needed a >> multithreading model that did not suck. > > I looked at co-routines and wondered wtf the author(s) was smoking. How its > supposed to be simpler than simply using a local state machine beats the > fsckout of me. Everything will make sense to you when you look at the co-routines proposal, and note its authorship: https://isocpp.org/files/papers/N4402.pdf Visual C++ does not have an impressive track record of zippy adoptions of new C++ language feature. Most of the time it gets beaten to the punch by gcc. Weirdly, it was the first out of the gate with co-routines. As I said: std::thread blows chunks on Windows. This was Microsoft's solution.
[toc] | [prev] | [next] | [standalone]
| From | Muttley@dastardlyhq.com |
|---|---|
| Date | 2024-12-29 17:08 +0000 |
| Message-ID | <vkrvmn$136cg$1@dont-email.me> |
| In reply to | #121327 |
On Sun, 29 Dec 2024 11:57:45 -0500 Sam <sam@email-scan.com> gabbled: >Muttley@dastardlyhq.com writes: >> I looked at co-routines and wondered wtf the author(s) was smoking. How its >> supposed to be simpler than simply using a local state machine beats the >> fsckout of me. > >Everything will make sense to you when you look at the co-routines >proposal, and note its authorship: > >https://isocpp.org/files/papers/N4402.pdf Don't know either of the authors but I knew it was MS. >Visual C++ does not have an impressive track record of zippy adoptions of >new C++ language feature. Most of the time it gets beaten to the punch by >gcc. Weirdly, it was the first out of the gate with co-routines. > >As I said: std::thread blows chunks on Windows. This was Microsoft's >solution. For solution read hack. At best its co-operative multitasking reinstated in a hideously overcomplicated way requiring nonsense special classes for [reasons] when a simple "yield" command would have sufficed. A proper solution would be to fix whatever fuckups they've made in their implementation of std::thread unless the problem lies in the windows kernel itself which frankly wouldn't surprise me.
[toc] | [prev] | [next] | [standalone]
Page 2 of 3 — ← Prev page 1 [2] 3 Next page →
Back to top | Article view | comp.lang.c++
csiph-web