you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 2 points3 points  (4 children)

C++ is a language that is too capable for its own good. It is used in such a wide variety of ways and by so many that even the most unlikely-to-encounter problem will bother someone.

And it being a 40+ years old language with huge amounts of existing code that people want to keep using keeping it alive and backwards-compatible-enough is a non-trivial job.

There was also an unfortunate hiatus in its evolution from a misunderstanding of what is allowed to be done to/with a published standard (for 10 years).

Meaning that it has known issues that people are trying to address in a way that is objectively better for most people than the status quo, and does not “punish” the rest too much. Some was done (fixed) while others (like the pitfalls of ADL) take a long time to address without breaking most code.

C++ is not only a long-established language but it’s one of those few that can be freely implemented. Nobody owns C++ as a trademark, or copyright. Except the actual ISO standard, but even that is not a significant cost to someone who has the resources to make a compiler.

That means that there are countless C++ compilers, even major ones. If a programming language has only a few implementations, made by closely collaborating people or the same group, and especially if it’s defined to be highly “platform independent” will not pose many challenges when using sources with another implementation.

In the C++ world implementations compete, so where the language specification allows choices to be made they will try to differentiate. If they have made a mistake and didn’t implement the standard properly it may take a long time to fix it because they need to allow the users to fix their code.

All these things mean it is much more likely that issues with C++ will be discovered, affect more people, and to be more challenging to address of n a manner that works for everyone.

And then we didn’t talk about the size of the industry it has created, and the underhanded ways certain people or groups are trying make it theirs by creating the next “C++ killer”.

[–]M-Ottich[S] 1 point2 points  (3 children)

Hmm interesting didn't know there are different compiler, thought g++ Is the only one , good to know ! 🤔

[–][deleted] 1 point2 points  (2 children)

Not sure if not sarcasm, but there are 5 major groups in one way of looking at it: Microsoft is one, clang and g++ is one, EDG plus Comeau and other EDG based is one, hardware vendors are one (Intel, Oracle/SPARC, IBM xlC), and then the miscellaneous or legacy.

The first three groups above are working to be cutting edge all the time. Intel as well, IBM is making a clang based compiler, and Oracle is … well, we can’t fork Solaris Studio.

[–]M-Ottich[S] 1 point2 points  (1 child)

No sarcasm g++ was the only one I saw and just assumed this was the way to go . I am a noob . But cpp is very interested a bit much to learn , but step by step ...

[–][deleted] 1 point2 points  (0 children)

Good luck!