Date: Fri, 29 Aug 2025 10:27:49 +0200
Hello!
I am feeling frustrated and feel a need to rant a little bit.
<- rant -
I have a feeling that many of the flagship features added in more recent
revisions of the C++ standard are half baked in that they are missing
parts that are necessary to make them useful.
As examples of this I would like to put up
* std::ranges
Here we have an ongoing saga of adding stuff from ranges-v3 that
is missing and even a roadmap for the things that someone think
are most important to add.
Here it feels like the most reasonable course of action is to use
ranges-v3 and ignore std::ranges.
* std::format
Here I tried to use it. I wanted to print a vector of unsigned
values as 1.2.3 and failed.
I then try to search the intenet for how to do it and finds
fmt::join - because obviously this is a reasonable thing to
do - but then I find that fmt::join expressly wasn't included
when range_formaater was added for some reason.
I then succumb to the other advise the internet gives:
Ignore std::format and just use fmt.
* co_routines
Here we have a framework that was added but is all but impossible
to use without the thirdparty coro librarary but I see no moves
towards adding that.
Nowadays it seems all the work goes into senders/receivers which
admittedly is a better design but it also seems to not need
co_routines.
Was co_routines a dead end?
There is much talk about the limited time that is available to the committe,
but adding half baked things to the standard wastes everyones time - that of
the committe when adding them it and that of the users when they have to
discover that it falls short of reasonable expectations.
- end rant ->
So, with that out of the system I would like to say that I am impressed with
many of the new things - Hana is a wizard - and looks forward to them
but I would like to not get more unfinished things added to the standard.
/MF
I am feeling frustrated and feel a need to rant a little bit.
<- rant -
I have a feeling that many of the flagship features added in more recent
revisions of the C++ standard are half baked in that they are missing
parts that are necessary to make them useful.
As examples of this I would like to put up
* std::ranges
Here we have an ongoing saga of adding stuff from ranges-v3 that
is missing and even a roadmap for the things that someone think
are most important to add.
Here it feels like the most reasonable course of action is to use
ranges-v3 and ignore std::ranges.
* std::format
Here I tried to use it. I wanted to print a vector of unsigned
values as 1.2.3 and failed.
I then try to search the intenet for how to do it and finds
fmt::join - because obviously this is a reasonable thing to
do - but then I find that fmt::join expressly wasn't included
when range_formaater was added for some reason.
I then succumb to the other advise the internet gives:
Ignore std::format and just use fmt.
* co_routines
Here we have a framework that was added but is all but impossible
to use without the thirdparty coro librarary but I see no moves
towards adding that.
Nowadays it seems all the work goes into senders/receivers which
admittedly is a better design but it also seems to not need
co_routines.
Was co_routines a dead end?
There is much talk about the limited time that is available to the committe,
but adding half baked things to the standard wastes everyones time - that of
the committe when adding them it and that of the users when they have to
discover that it falls short of reasonable expectations.
- end rant ->
So, with that out of the system I would like to say that I am impressed with
many of the new things - Hana is a wizard - and looks forward to them
but I would like to not get more unfinished things added to the standard.
/MF
Received on 2025-08-29 08:27:54