Hiya. I've recently finished reading "C++ Primer 5th Edition", by Stephen Prata.
I feel that it's given me a good grasp of the language, but I still feel very unpracticed (even after doing all the end-chapter practice problems and some internet problems).
I was looking to purchase "Effective C++ 3rd Edition" because of its rather glowing reviews. First, I would like to get some suggestions.
My goal of learning isn't necissarily to master C++. Its to learn multiple languages and have the experience and knowledge to be able to pick and use whichever I eventually take a real liking to. I basically wish to pool general programming knowledge before I start serious programming.
I haven't completely decided on my application of programming. I'm interested in creating phone apps, helpful windows programs, indie-games, and gaining the experience to eventually be employed as a programmer if my projects simply don't sell.
I don't see myself losing interest in any of these things really, so I'm not sure if I should continue powering through C++ books, or begin to sample other languages now.
So in conclusion, I would like to hear your suggestions.
-Since I now have a decent grasp of C++, should I alt over to Java and see if I like it better than c++?
-Or should I continue learning C++ and buy "Effective C++ 3rd Edition"?
Also, please suggest alternative books if you think I would benefit from something other than "Effective C++" at this point.
Before you can seriously say you have a good grasp of a language, you will have to write several non-trivial programs, just reading books can only get you so far. I also like to do a lot of reading before starting something, but experience has shown that even when I thought I had a good grasp of something, when trying to put it practical use, it often made me stumble upon various unforeseen issues.
Think of something useful or something that would be fun to make and give it a go. You'll usually learn a lot on your way to completion.
It surely isn't a bad idea to read Effective C++ while you're working on your projects. You should be able to put the advice given in the book to good use (and see first-hand how it improves your code).
Once you feel confident while writing C++ programs, you can move to the next language if you so wish.
Well, a slightly more complex project wouldn't hurt.
I found game programming to be a fairly good way to learn, as you can put a lot of different programming concepts, algorithms and data structures to good use, more so than with most other types of programs.
Perhaps a bomberman clone with support for online play. Something like that.
I'm still a beginner, I wouldn't know where to start for that. I'm guessing you mean use some pre-existing library that is specifically made for games? I'm mainly using "vanilla" C++, I suppose you could call it. I've been doing everything from scratch and the STL.
Also, since you mentioned it, what on earth would I have to study to incorporate online capabilites into my C++ projects?
I'm still a beginner, I wouldn't know where to start for that. I'm guessing you mean use some pre-existing library that is specifically made for games?
The STL contains a wealth of capabilities that you may not have been fully exposed to yet. If you continue with C++ I would recommend The C++ Standard Library by Nicolai M. Josuttis. It's been around for a while but still highly regarded.