Wait, really? This is the first thing I've ever seriously disagreed with on this blog. I understand that one of C++'s biggest problems is just how big it is, but a lot of the features (lambdas, range-based for loops, smart pointers) only make the language easier for newcomers. I only list those 3 because they're the one's I've found to be all but indispensable now that I've gotten used to them.
@dmbarbour: Most of the practical complexity of C++ is not in the language itself but in the knowledge of how to use it safely — all languages require this, but C++ requires an unusually large amount. If new features reduce this enough, they could be a net simplification. For example, adding lambda (even a crippled demi-lambda) means users don't have to know how and when to work around its absence.
I don't think this will work very well for C++, though, because there's so much old code that everyone has to know how to maintain, and because the language is already so complex that many users won't learn the new features.
5 comments:
Wait, really? This is the first thing I've ever seriously disagreed with on this blog. I understand that one of C++'s biggest problems is just how big it is, but a lot of the features (lambdas, range-based for loops, smart pointers) only make the language easier for newcomers. I only list those 3 because they're the one's I've found to be all but indispensable now that I've gotten used to them.
Next: On hearing that several implementations of C++11 already exist... :)
Just love how they add features to "simplify" the language.
@dmbarbour: haha, my thoughts exactly
@dmbarbour: Most of the practical complexity of C++ is not in the language itself but in the knowledge of how to use it safely — all languages require this, but C++ requires an unusually large amount. If new features reduce this enough, they could be a net simplification. For example, adding lambda (even a crippled demi-lambda) means users don't have to know how and when to work around its absence.
I don't think this will work very well for C++, though, because there's so much old code that everyone has to know how to maintain, and because the language is already so complex that many users won't learn the new features.
Post a Comment