3 ms·
unless you are on a standards committee or are writing a compiler... Or you work on an existing codebase. Most C++ code that I worked on had templates, excepti
by danieldk 12y ago
unless you are on a standards committee or are writing a compiler...
Or you work on an existing codebase. Most C++ code that I worked on had templates, exceptions, and used the C preprocessor.
I used to have your attitude. This works for many languages, e.g. if you know some of the syntax of Python or Go and the usual stuff from the standard library, you can get pretty far.
If you want to write modern C++, this is not really true. You need to know about const correctness, lifetimes, some templates, etc. Or you cannot deal with most projects or libraries, like Boost, Eigen, etc.
It's like saying you can program Haskell in 2014 without knowing typeclasses, lenses, GADTs, etc. You can write some educational form of Haskell, sure. But many libraries use these.
- throwawayaway 12y agoModern C++ is a moving target. By the time you get around to doing a project with one set of features they've been made redundant. Exceptions are a good example of this with noexcept etc coming in and replacing what went before. I know nothing of haskell. My point is that you should learn the features of the codebase you work on, and it's a waste of time to learn all features, ultimately for a codebase you are not working on or may never work on. incidentally, ditto, i used to have your attitude.