3 ms·
I hope they keep going down this path and make it into a real mess of a language, so that people can finally stop pretending C++ is the solution to any problem,
by socialdemocrat 6y ago
I hope they keep going down this path and make it into a real mess of a language, so that people can finally stop pretending C++ is the solution to any problem, when it is in fact the cause of a lot of your problems.
I began C++ coding over 20 years ago as well, and it required reading thick books even then. I remember my class mates at Uni really hated software development all because of C++. It was way too hard as a beginners language, even 20 years ago.
I look at all these new features, and I am like: How on earth are you going to teach all this crap to students?
They have painted themselves into a corner. It becomes a language only for those who have already programmed it for 10-20 years.
This idea, that it is only for library developers is a bunch of crap. A lot of learning a language is really about reading the code for the standard library. That was one of the beauties of writing Go code. You regularly look at standard library code and is even encouraged to do so. It teaches you a lot about good style.
Same deal with I program in Julia. Looking at library code is totally normal and common.
Except in C++. I avoided looking at library code like the plague. And I suppose, now it will only get worse.
The worst part of this is that this isn't just a problem for C++ developers but also for everybody else. So many key pieces of software relies on C++ code. It becomes ever harder to migrate that code or interface with that code as C++ complexity grows.
That was the beauty of a language like Objective-C. Unlike C++ it is a fairly simple language which you can interface easily with. The result was that porting to Swift was really easy. When porting iOS apps to Swift I could pick individual functions and rewrite them to Swift.
There is no hope doing anything like that with C++.
- dgellow 6y ago> I look at all these new features, and I am like: How on earth are you going to teach all this crap to students? You don't. You teach "A tour of C++ 2nd edition"[0] which presents a clean and smaller subset of the language people can wrap their mind around, with everything someone new to modern C++ needs to know to be effective. And you supplement this with "C++ Core Guidelines"[1] which can be enforced by code analysis and provide some examples of common mistakes or questions people might have. You do not need to know all the details of the language and know every single features. And wouldn't teach everything to a student. But it's true that there is some overhead due to the complexity of the language. [0]: https://www.stroustrup.com/tour2.html https://www.stroustrup.com/tour2.html [1]: https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines