On Mon, 2020-06-29 at 10:31 +0000, IGotD- via Digitalmars-d-announce wrote: > […] > Back to C++20 and beyond which Herb Sutter refers to a lot. Is > C++20 a success, or even C++17? Does anyone know this? Modern C++ > isn't a programming standard so what I've seen is just a mix of > everything.
I guess the question is whether concepts, coroutines, and modules finally make it in. The really interesting question is whether metaclasses make C++23. Of course C++ is now really a niche language used by those who still use it and do not move on to more modern languages! > I have lost track of all new C++ features and now he even refers > it as "NewLang" what that is. Is that Bjarnes famous quote > "Within C++, there is a much smaller and clearer language > struggling to get out."? I believe it when I see it. The problem is backward compatibility. Every new feature in C++ requires backward compatibility with all previous C++, leading to a more and more complex language. Fortran has the same problem but easier to cope with as it is a simpler language. Languages without standards do not have this problem. Except when language developers introduce breaking changes and a section of the user population screams "we must have backward compatibility". What they mean really is that they do not want to maintain their code. The Java folk showed how this pans out: eventually companies that will not deal with breaking changes go bust and are no longer a problem. I am sure this will be seen as a rant and a troll, but that doesn't stop it also being true. > One thing that isn't mention that is very important for a > language to succeed is libraries. C++ has a lack of standard > libraries which forces the programmer to look for third party > alternatives, which are of varying standard. This leads to that > the there is no particular programming API standard it must > gravitate to the lowest common denominator. This in contrast to > Phobos which is more complete. Another rant… …batteries included standard libraries are a thing of the 1990s and earlier. They are a reflection of pre-Internet thinking. You got a language distribution, and everything else was home grown. Now we have the Internet you can get libraries via download. Languages come with the minimal library needed to function and all else is gettable. Go, Rust, Python, and other languages have this (even though Python still has a batteries included standard library). C++ has moved on to this idea; Conan (or other system) hasn't really caught on in C++ circles. Ditto Fortran, still using pre-2000 thinking. D is in a similar position to Python, a huge batteries included standard library much of which should be culled, or at lease marked as deprecated, and has an central package repository for people to use. Rust, Go, and Python, show the way here. Libraries can spring up, evolve, die off, all controlled by usefulness to the user population. C++ people's focus on "the standard" seems to be stopping them doing good things. > Does C++ need more language features or does C++ need better > standard libraries? I would say the latter. If it weren't for Qt, > C++ would just be a skeleton language. Qt is a great library and > was that even before C++11 which proves that the new language > features weren't that important. > > What do you think, did "modern C++" really succeed? Clearly Modern C++, aka C++11, was a great innovation and step forward. C++14, C++17, and I guess C++20 move the language forward. On the other hand people are stopping using C++ in favour of Go, Rust, Python, but it seems not D. -- Russel. =========================================== Dr Russel Winder t: +44 20 7585 2200 41 Buckmaster Road m: +44 7770 465 077 London SW11 1EN, UK w: www.russel.org.uk
signature.asc
Description: This is a digitally signed message part
