Need help deciding on a method to learn C++

So I learned a bunch of basics a few months ago and had to stop because my laptop broke. Now I'm trying to decide if I should learn C++ through either this websites Tutorials as a refresher course or go ahead and use a book "Beginning C++ Through Game Programming" and learn that way? I want to get into game programming and such so I'm essentially asking if I should learn all the basics again on this website first before diving into a C++ book?

Any and all advice is appreciated!!! Thank you.
Using a book that teaches c++ to write games is a great idea particularly if writing games is an end goal. Most (all?) teach yourself c++ books use a console i/o and fail to cover linking libraries or even the window API to incorporate graphics and sound even if they go on to explain highly advanced c++ programming you might never use.

The book you mention seems to be windows based games which means they will not run on other platforms only run on windows. DirectX is harder to learn than a graphics/sound library but at least they don't require linking in libraries which is a nightmare for a beginner. It does say it requires a basic understanding of the C++ language which might be an issue if used alone. The teach yourself c++ game programming books I used actually taught c++ from the ground up but they are rather dated now and probably wouldn't compile on the latest versions of c++.
Last edited on
Thanks for the reply! So you recommend I give that book a shot? And what about this websites tutorials?
So here's the real question, why not do both? As well as look all over YouTube. This site has a pretty good tutorial, but if you're ADHD like me you'll watch a video xD.

This site is not going to teach you how to be a game designer, but that book might not fully cover C++ and especially C++11 techniques.

Make sure you not only to watch and read tutorials and examples, but also to TRY THEM YOURSELF! It's more than critical that you get your hands dirty!

If you feel confident in your math skills and your programming skills try out ProjectEuler.net for in between concepts beginner's practice. I constantly find myself coming back to these problems to refresh my more basic understanding of the language and keep myself sharp.

Learn what a break point is and how to use the debugger, it will save you more time than you'd like to admit to your friends.

Speaking of friends, if you know anyone who's interested in programming drag them through this mountain with you, because seriously it will help you both progress so much faster it's absolutely disgusting gains bro.

Take stackoverflow and other sites like that with a grain of salt, because most of the time their answers are coming from inexperience, yet they have just enough experience to answer your questions, but not in a professional context.

TAKE THE HARDEST COMP-SCI TEACHER YOU CAN (if you're in college or about to be) nothing is better when learning programming than to have to be too pedantic, too modular, too explicit, too commented and etc. and work backwards from there. (it's easier to go from a job where you need to wear a suit and tie to a job where you need to wear a t shirt and jeans than vice versa)

You need to understand that there are at least 4 elements at play when programming: editor, compiler, linker, platform. You're not writing things in java script here. You need to understand that if you're working on windows things will be different than on mac or Linux. You need to know how your platform works and what is/is not standard.

There is a somewhat common progression between programmers. First we learn hello world, then we learn text input/output, then we make a text game which will be super crude but whatever you sent it to the person you liked and they thought it was adorable because it recognized them by name. Then we learn about functions, conditions, types, and loops. Then we try to make another text game and we don't finish it but it gets less crude in the prompting. Then we learn about structs, classes and pointers. Now we make some kind of turn based combat game (I tried to recreate pokemon) and yeah it'll work but you'll abandon it and you'll get used to that idea of starting and stopping a project because you ran out of knowledge but that's ok it's not giving up its transitioning to something better. For example I was trying to make a web server over this summer and wasn't able to do so, why? Because I'm not a pro and even the pros spend hours on google. I learned about sockets, I learned about message systems, I learned about the windows api (wtf NEAR and FAR you took up maybe 8 hours of my life and you litterally dont matter D:<) , i learned about ostreams, I learned about utf-8, I learned about std::iterators, I learned more about the SOLID principles. All stuff I never thought I'd have to learn to make a web server. I thought, "how hard can it be?" It ended up being very hard.

When you get to be a better programmer you'll learn other programming languages. I started in C++, moved to Lua(w.o.w. addons), moved to python(apps to make my job easier in I.T.), moved back to C++, moved to Java, to C++, to C#, back to C++ now. Do not assume that C++ is the end all be all. You most likely will not be using it in your future job because c++ is for the hardest problems and is usually overkill besides that. Only because C++ "requires" many lines of code and (i don't have proof) it seems to me other laguages can do what C++ does, but not with the same level of Low level control or they dont have the high level ideas, but with less lines. And when you're getting paid by the amount of lines you write or in the amount of time you're at your job, or by the number of projects you complete people don't want to pay you 4/3's as much money because you really like C++.

This life is not about learning how to do one thing. You must be a better programmer to become a better game programmer. Good luck!
Thank you that was actually inspirational! I'm going to save this to give me inspiration on my PROGRAMMER GAINS!! DO YOU EVEN CODE BRO?!?!? Haha but really thank you!
Topic archived. No new replies allowed.