Hey guys, just joined this forum, though I have read lots of stuff on it. I'm 15 and want to learn some programming. My past experience includes a bit of html (but I really don't care about website development at all which is why I'm not doing it), some python, and some java. My ultimate goal is to make a 3d game and I know that is no easy task at all. So correct me if I'm wrong but in order to do this I must learn the basics, then learn how do make 2d games, and then 3d games.
Now how should I learn the basics? I have done quite a bit of research on this too. One source of course is the documentation on this website. I have already read all the basics of that tutorial. I'm not sure how the rest of it is, but I'm not sure how far it will take me. I have also watched a bunch of buckys thenewboston tutorials and some are good, but some are also difficult to understand. I saw on one of his videos heaps of books so I'm wondering if books would be the best way to learn the language. So it seems like from what I can tell C++ Primer is the best book by far. There is a new edition of that coming out in 2 days? Also would I have to buy that? They have it at my library, but I can't keep it forever and I'm not sure how long it would take to get through. Another popular book seems to be C++ Primer Plus which is totally different. That has very mixed reviews. Some people say it is good, and many people say it is not good. A nice thing is that there are pdfs of this online so I can get it for free. However if it is bad, I don't really want to get it since that would teach me the wrong way, right? The other book that seems good is the C++ Programming language. I don't know too much about it, but it seems like I can get a free pdf of it. So I would be willing to buy that other book if it is better, but free is obviously better.
So what do you guys think? Which of these is the best? Any great alternatives? Any useful hints in general? Project Euler seems to be a good way to test my skills, and currently I can't get past the first one since I have yet to learn for loops in any of my learnings so far. Oh and which editions of the books should I get? Should I wait for the brand new ones? How different are the different editions?
I feel like Project Euler can test very basic programming skills, but for a reasonably skilled beginner C++ programmer it is mostly their Mathematics being tested, no?
Any beginner C++ book should do, look at reviews and make sure it's not awful and you should be okay. I learnt from a crappy poorly-edited online book Microsoft used to provide, but unfortunately that's been taken down now. Nevertheless it wasn't amazing but I learnt C++ fine anyway, C++ is hard but I think it's just a matter of time; most of the language doesn't require too much intelligence. There's a free 'Documentation' section of this website that doesn't look too bad, I'd try and learn it from there before spending any money.
As for the actual programming; putting it all together is the real skill, and the options C++ gives you for this probably makes it harder to make up your mind on how to do so. Hopefully your Java prowess will make this easier, although crazy OOP isn't exactly game-making material, so you'll also have to learn to program without full OOP.
It's probably also useful to know (although hopefully unnecessary) that the latest revision of C++ is known as C++11, or C++0x. I don't know how this will help but I have a feeling it may be of use.
Also, Java was partly based in style on C and C++, so loops and all that look almost exactly the same.
Thanks for the response. Well my java was extremely basic, I think I only got to understanding a hello world program. I wonder if I also need to just learn basic 'programming skills' besides the language. Will the books teach that? Is programming principles and practice using c++ a better book for me? After further research it does appear that C++ Primer Plus is a bad book.
Also, is this in the right forum or should it be in the beginner one?
Personally i cannot recommend "C++ Without fear, Second edition" by Brian Overland highly enough. I picked it up with no prior knowledge of the c++ Language and learned much! it was easy to understand as it is written for us "noobs"! As a benefit it comes with various "Homework" projects which expand the lessons in the book greatly.
Ermmmmm yeah... other than a few bad practices its still informative, additionally he does in a side note explain the evils of system("PAUSE") even if its not the "Perfect" book its still helpful for beginners.
Thanks for the responses guys, I actually ordered programming principles and practice using c++ because it looked good and I can tell you guys how I think it is when it comes.