On 08/12/2023 03:28, Kaz Kylheku wrote:
> On 2023-12-07, David Brown <
david...@hesbynett.no> wrote:
>> On 06/12/2023 23:42, Kaz Kylheku wrote:
>>> On 2023-12-05, Chris M. Thomasson <
chris.m.t...@gmail.com> wrote:
>>>> Humm. It seems as if this group has gone quite "dark" on my end.
>>>
>>> I think that most long-time users of C++ are put off by all the crap
>>> that has gone into making it even more insanely bloated.
>>>
>>
>> How does this "crap" affect your coding? Maybe, for example, you don't
>> like fold expressions and parameter packs from newer C++ standards. If
>> you don't use them, however, how do they affect you? The usual answer
>> is having to deal with other people's code that use the new features,
>> but is it really a common problem in practice?
>
> I want to work in a team where everyone knows 95% of the language
> and other tools we are using. Not everyone knowing a different 10%:
> like a room full of blind people groping different parts of an elephant.
>
For some projects and teams, it works best if everyone understands
almost all of what everyone else is doing. In other projects and teams,
specialisation is the key to efficiency and it is enough if there are
perhaps just one or two people able to understand some parts of the
whole. You don't have to be capable of writing a class template like
std::variant<> in order to make use of it.
But if a more cohesive team with a strong overlap is what works best for
you and your projects, great. Define a subset of C++ that suits your
needs, and stick to it - expanding it only after you all make a point of
learning the new feature. Maybe your selection is made based on a
particular older C++ standard, or maybe it is based on particular
features, standard library headers, or other classification. That's all
fine and sensible. I think most projects and teams do this to at least
some extent.
But I don't see how additional features in C++ bother you. If you have
decided that C++17 is the standard you use, what's the problem if C++26
gains features you don't want?
> I can't even meaningfully discuss C++ any more. Even if I made it a good
> chunk of a part time job to study it, I'd have to find someone else who
> does same.
It's normal to have interests or knowledge that is not shared by those
around you. Even when it is job related, it is normal for each person
to know some things far better than the others around them. I know far
more about modern cpu design than anyone else in my department of
embedded programmers and electronics engineers. I doubt if I could have
a particularly meaningful conversation with any of them about it, even
in connection with the cpu cores we use every day - but I don't blame
ARM for making more advanced devices!
>
> (Why am I here? Due to some cross-posted thread that wasn't about C++.)
>
>> I usually find that with each new C++ standard, there are some features
>> I like, and some that I don't much like or are very unlikely to use.
>> And there are always some that are nice ideas, but ugly or complicated
>> in practice - most often due to backwards compatibility with the
>> existing language (or C).
>
> I can get shit done in nothing but C++98. Or C for that matter.
Sure - once a language is Turing complete, you don't /need/ anything
more. But it might make it easier or more efficient to write good code.
(And it might be more fun!)
>
> Newer C++ features are no longer about getting shit done but basically
> envy of some higher level languages.
I don't see that at all. I can see C++ taking inspiration from other
languages, but that's a different matter.
> I sense that C++ is in kind of
> panic that the language won't attract new, younger programmers if it
> doesn't become like Scala, Haskell, Python, or whatever.
>
Even if we assume that is true, is it a bad thing? C++98 has not gone
away. But if no one from the next generation uses C++, it /will/ fade
away. Do you think the people who make their living from C++ - working
to improve and enhance it, developing new libraries and features,
writing books, making compilers, teaching it - do you think they should
all decide that some people don't want to learn anything more, they
should call it a day and collectively retire or pick a different language?
> None of that helps me.
>
I'm sorry, but this all comes across as sulky and egoistic. I doesn't
help /me/ - therefore it's bad, it's crap, it's bloated, it's insane.
/I/ am not happy, therefore "most long-term users of C++" are not happy.
We all have parts of C++ that we like, and parts that we use (and the
more these overlap, the happier we are). And there will always be parts
that we don't like, and that we don't use. C++ is used in a vast array
of different ways and for different tasks. And as it continues to be
used in other areas, and as these needs change, habits change,
preferences change, the language and library grow. As compiler
technology improves and computers become more powerful, the language
changes and more is expected of it.
And the more this goes on, the larger a proportion of the language and
library any given person will not know about, and will not use.
When I first started programming, using BASIC on home computers as a
kid, I knew every statement and every function supported by the
language. When I first worked on embedded systems, I knew every opcode
of the microcontroller's core, and the details of every peripheral. On
many systems, every instruction the core executed was written by me.
The world has changed since then. My systems use SDK's from
manufacturers, third-party libraries, code written by colleagues and
customers. Things change - like it or not.
> It's very similar to when businesses chase new customers with
> incentives, and take for granted their existing customers.
>
No, it is not.
No one is taking your current C++ from you. You still get exactly the
same language as you've always used.
>>> And that's nearly the only kind of user you're going to get
>>> in a Usenet comp.* newsgroup.
>>
>> Well, you'll mainly get "long-time users" here, but I don't know if it's
>> fair to say that most are put off by "crap" and "bloat". (I also don't
>> know that it's /not/ fair to say that. I don't believe we have a basis
>> for judging it.)
>
> There is also survivorship bias; you don't see people who are not here
> any more.
>
True.
> Where is good old Andrew Koenig? According to Google Groups search, he
> last posted here almost exactly ten years ago (responding to a "C++ ==
> Gagware" thread, on the same topic we are in now).
And according to Wikipedia, he is 71. I'm guessing he is retired now.
>
> Scott Meyers lost interest in C++ in 2016.
No, he "retired" from C++ in 2015. After working for C++ (not just
working /in/ C++) for 25 years, he decided it was time to move on and
let others take over. Fair enough.
<
http://scottmeyers.blogspot.com/2015/12/good-to-go.html>
People working on big projects for a long time, sometimes move on.
Maybe they outgrew the project. Maybe the project outgrew them. Maybe
they got old, or bored, or found other interests. Maybe they just
wanted a break or a change.
You can't possibly think that picking a couple of well-known C++ figures
who stopped writing C++ books justifies claiming that "most long-time
users of C++ are put off by all the crap" ?
>
> Why would I stay interested in C++ if even die hard Scott Meyers won't
> touch it any more?
>
Again, you are joking, right? Should /you/ stop being interested in
something just because someone else stops being interested in the
subject? Did you suddenly stop being interested in C when Dennis
Ritchie died?
I can fully understand not liking many of the latest features of C++, or
not feeling they are useful to your own needs. But I don't comprehend
how that stops you liking or using the language, or how you think that
makes the language bad for anyone else.
If you'd be interested in a thread about particular new features that
people may or may not like, then I think that could be helpful and
productive.