Background:
I started in C++ with v1, then moved to v2 and used it professionally
for about 8 years then, just as v3 and the STL was getting established,
I was moved to a COBOL project (Y2K scare) and then the web was
everywhere so I wound up working in Perl and eventually Python,
and a little Java/JSP/JEE - where I've stayed until now.
But I've always had a hankering to return to C++ but am aware
that the language has moved on. So my question is - What would
be the best book for a professional programmer, once familiar
with C++ up to v3(*) to buy to get up to speed on current C++
language features and best practice. (C++ books seem much more
expensive than other languages so I can only afford one!)
(*)I already own and have read:
C++ Primer by Lippman for v2 and
C++ language by Stroustrup 3rd edition and
Design & Evolution of C++ also by Stroustrup.
Also, what toolset would you recommend for Linux
- Netbeans/Eclipse? vim/emacs? Someting else?
I don't want an editor religious war, just some pointers on whether
an IDE is "necessary" or if a plain editor is still all that's needed.
(For example I find a Java IDE like Netbeans is pretty well
indispensable whereas in Python it adds little value)
So books and tools - any recommendations?
PS
I have looked at the tutorial on cplusplus.com but, to
be honest. I prefer paper for learning...
> What would be the best book for a professional programmer, once familiar with C++ up to v3(*)
> to buy to get up to speed on current C++ language features and best practice
> whether an IDE is "necessary" or if a plain editor is still all that's needed.
An IDE is not "necessary"; a plain text editor like vi is all that is needed.
Whether you would like to use an IDE, and if so which IDE, is entirely up to your personal preferences.
> I find a Java IDE like Netbeans is pretty well indispensable
There is no C++ equivalent to an IDE like that on Linux.
The NetBeans IDE does support C++ development, but it is a far cry from Java - it is limited because the debugger on Linux is quite primitive as far as C++ is concerned.
> thoughts about the toolset
Install reasonably current versions of both g++/libstdc++ (GNU) and clang++/libc++ (LLVM), and compile the code with both. (You would need to explicitly ask for standard C++ conformance with -std=c++14 -pedantic-errors)