3 ms·
If anyone says they know C++, ask them back which one they are referring to? GNU g++, MSVC C/C++? ISO C++98, C++03, C++11, C++14, C++17, C++20, draft C++23?
by jll29 3y ago
If anyone says they know C++, ask them back which one they are referring to?
GNU g++, MSVC C/C++?
ISO C++98, C++03, C++11, C++14, C++17, C++20, draft C++23?
I like the OP's curve, but realistically, there needs to be a set of curves next to each other, because every 5 years, C++ changes a lot to the extent that you can write "idiomatic" code that looks very different from half a decade before.
I've been using C++ since the 1990s, but mostly, overall whenever I used C++, I stuck to a subset of C++11 or C++17.
Compiler errors always have been a pain, which is still the case now, and no two compilers compile the same language (unlike Java, whatever complaints you might have against it).
- gpderetta 3y agoI find that most CVs I read this day explicitly specify the standard the candidate is experienced in/worked at a specific gig. I normally expect at least C++11 when interviewing, but let the candidate use whatever standard they are more familiar with (and even non-standard features, especially around threading).
- kps 3y agoEvery nontrivial C++ project ends up picking a working subset, sometimes explicitly. These don't particularly correspond to standards versions. I ‘know C++’ according to coding standards X and Y pretty well, but I don't ‘know C++’ according to project Z. (As a concrete example, I don't think I've ever worked on a code base that used exceptions or RTTI.)
- gumby 3y agoTBF this is common in any mature language. In fact one reason I don't like Go is that it was explicitly designed to have "One True Way" to do anything and if you don't like that choice, too bad. I know why that approach was taken, but it doesn't work for me.
- _yb2s 3y agoI did a lot of C++ 20 years ago, and so figured I "knew" it. I recently tried writing some C++ again, and couldn't recognize the language at all... the symbols, functions, libraries, etc. were so radically different that it more than exceeded what I would consider to be the threshold for an entirely new programming language.