C++ clear winner in Google language tests
computing.co.uk
computing.co.uk
I know the Java guys are very fond of their eclipse/netbeans/IDEA and ant/maven; what do C++ projects nowadays look like and what are the typical tools used to code and build? Are there any library collections or tools one should definitely check out? Are there any "industry standards"?
And while we are at it: what about COBOL? Any chance of learning that without having a 40 ton mainframe and the necessary nuclear power plant to run it at home?
Further study of the topic is from the Scott Meyers books, which are very clear and well-written.
Certainly on Windows, Visual Studio is popular.
Back during my 10 year stint doing C++, I held the opinion that it took on the order of two years of programming C++ full time to master the language. If you are looking for the full language, it is not clear that two years is adequate.
Ok, so my advice about COBOL. If you get stuck writing a lot of RPG, then COBOL is a good rescue. Otherwise, it thought to cause brain damage, and is best to be avoided.
I don't think it's practically feasible for an average programmer to learn the whole language (or even the part that is necessary to know to do 'modern' C++ programming) in their spare time, with no or little prior understanding of lower level programming (memory layout, compilation steps, ...). It has many features and most are very intricate, and it's very easy to get stuck for several evenings on something that experienced C++ users wouldn't even recognize as a stumbling block. 'Modern' C++ is full of template use, very hard to read libraries so it's hard to learn from them, and the quality of information online varies widely. I agree with the above poster that it would take 2 years of full time using C++ to consider one self an 'experienced' C++ programmer.
That said, I still think the Stroustrup is the first book anyone learning C++ should read, although that's not a popular opinion (actually I think one should start with the K&R but I consider C prerequisite knowledge). Then Koenig & Moo, Alexandrescu, then the Meyers & Lippman series. While reading these one should do the exercises and parallel with that implement a real project.
The above plan is completely unrealistic though, so i guess learning C++ like everybody else (being thrown into a project and sink or swim) is the more realistic route :)
I recommend you avoid trying to master C++: it's a gigantic waste of your time, of your brains and of your productivity. Lots of useless complexity. Just like learning Perl is (been there, done that, too).
OTOH, C is a language worth learning well.
That being said, if you insist on C++, Visual Studio on Windows, XCode on Mac and KDevelop on Linux would be my IDEs of choice. On Linux and Mac most people use vim or emacs though. Libraries to look into would be the standard STL and Boost. Qt or wxWidgets for GUIs.
COBOL? I'm sure you can run it on a modern computer, hell, my iphone is an order of magnitude more powerful than the mainframes from 30-40 years ago... but in the name of all that's good and holy, why would you ever want to do that?
There are still a lot of banking applications in COBOL and other ooold languages around - I have always been wondering how much of a financially interesting niche this could be... work few hours a week and bill them royally since there are not too many people around who can do it anymore and a lot of them are bound to retire sooner or later.
I don't know about IDEs, does vim count?
Learning COBOL can only guarantee you a job as a specimen in the programming museum nowadays.
Though how do you write unit tests in a text editor?