C++ Book?

So, I'm 13 and I've been programming since I was 10. If you're one of those people that want to say "You're too young. Stop programming. It's pointless at your age, you're wasting your life and you're not going to get anywhere", just don't reply. Anyway, over the past 3 years I've learned:

1) VisualBasic
2) C
3) Java
4) Objective-C
5) C#
6) Lua
7) Python
8) Ruby
9) HTML
10) CSS
11) PHP
12) MySQL
13) Squirrel
14) JavaScript
15) Partial C++

I've used many frameworks:

1) LÖVE/Love2d
2) PyGame
3) PyGlet
4) Cocos2d-Python
5) CraftyJS
6) Chingu
7) Gosu
8) JawsJS
9) jQuery
10) MooTools
11) SFML - Partial C++

So, why do I want to learn a new language? Because why not.

Anyway, I don't feel like I'm a good programmer. I've wrote 1 game(Mr. BallGuy using LÖVE/Lua), but it's nothing big. I've been told by a few people learning C and C++ will help me "understand" how to solve some problems. For example, I want to make an infinite runner, but I don't know where to start. Apparently learning C/C++ will teach me the way to overcome these problems: The problems being that I don't know how to do something like that. I also feel learning C/C++ will give me a better understanding of the lower level side of programming. I've learned C, so I'm half way there.

I've read through the tutorial on this website and on a few other websites, I've watched TheNewBostons C++ series and I've watched CodingMadeEasy's tutorial series, though that's apparently not good at all and I should read a book. So, what book would you recommend to someone who fits my description? C++ for Dummies is meant to be terrible(my friend read it and he didn't understand it at all). I don't want to waste money on a terrible book.

Maybe you could suggest a beginner book? Even though I do know all those languages, I like to go back and watch beginner tutorials again, just so I keep on top of my game, so to speak.

Anyway, thanks! Any help is appreciated!
@CppCoder101

... Anyway, over the past 3 years I've learned:

1) VisualBasic
2) C
3) Java
4) Objective-C
5) C#
6) Lua
7) Python
8) Ruby
9) HTML
10) CSS
11) PHP
12) MySQL
13) Squirrel
14) JavaScript
15) Partial C++

I've used many frameworks:

1) LÖVE/Love2d
2) PyGame
3) PyGlet
4) Cocos2d-Python
5) CraftyJS
6) Chingu
7) Gosu
8) JawsJS
9) jQuery
10) MooTools
11) SFML - Partial C++

... So, what book would you recommend to someone who fits my description? C++ for Dummies is meant to be terrible(my friend read it and he didn't understand it at all). I don't want to waste money on a terrible book.

Maybe you could suggest a beginner book?


Thank you. I have laughed.:)
Last edited on
If to add programming languages and frameworks you learned over the past 3 years then in total they will be equal to 26. Three years have 36 months. So it was enough to you about a month and a half to learn a language such as for example C#.:) I remind for example that only one book Pro C# 2010 and the .Net 4 Platform by Andrew Troelsen has about 1400 pages. If to read it every day during a month you need to read at least about 50 pages per day.:)
Last edited on
Java :) :) (core java /advanced java)J2EE/J2ME/J2SE/android programming and the list goes on

so far ive explored only core java and parts of advanced java and some android programming, ive been exploring java for 4 years.i guess it will take a book with MILLIONS of pages to document all Java concepts, JAVA is an ocean, u say u are done with JAVA, ha ha ha!!!
I just can't believe at all that you've leaned that many language to a decent standing within such a short space of time, although saying that I do suppose it's easier to learn the younger you are. Just make sure you aint rushing anything and you are gaining full understanding on everything you're doing otherwise you're just completely wasting all that time.

For C++ personally I'd recommend "Beginning C++ through game programming" by Michael Dawson I think, it covers topics in a lot of depth so it's easy to grasp yet I'm afraid it just misses a few things you'll have to lookup, such as templates and file-handling.

If you want something which maybe doesn't have that much explaining (as you claim to already know C) you could try "C++ programming in easy steps", personally I find them absolutely useless for beginner learning but they're not too bad for reference or just adding a little bit of knowledge.

Failing all else, the tutorials on this website are actually pretty damn good, also you can just take a quick look at the references on here for anything you may need a little more information on.

Hope all this helps!
@SatsumaBenji

Thank you! A serious answer :) Yeah, I learned C from YouTube, messing around with what I already knew from C to see what was there and what wasn't and just reading stuff online.

Reading back on it, I didn't explain myself correctly. I meant the video tutorials and the online tutorials(NOT INCLUDING THE ONE'S ON THIS WEBSITE) were not good, but the tutorials here were suggested. I finished them, but was still told I knew next to nothing about C++, so I read them again, and I was told the same. I was told to read a book on it.

I will read both books. It couldn't hurt, could it? Yeah, it'd be a bit of spending but you don't get nothing for nothing as they say ;)

What I do with my programming is I tend to use a language for a while, get used to it, and go back to another one, and switch maybe once every 3 months or so, just so I keep them fresh in my head. Though I do tend to use a few languages a lot. I use Lua, Java and Python a lot.

I try to make a game in every language I've learned. Mr. BallGuy was the only one I ever released(I made a lot of "half games" in the past that weren't anything worth talking about).

Also, learning C++ will help me now, because maybe later on if I go to a school to learn C++ to get a job programming(You need C++ skills to program "officially", so to speak), I'll have experience so it'd be a bit easier.

Thanks for the reply! It certainly did help! :D
CppCoder101, take a deep dive, instead of 16 programming languages, try implementing some practical problems around in 1 or 2 languages which u prefer, u have started young, who knows u mite be the next Gates, conquer the programming world!!!
By seeing all the languages/frameworks you've worked with so far, I assume you have somewhat of a decent skill level in programming experience. The best way for you to learn and make you a better programmer is to create more programs.

But if you do want to learn C++ for beginners I would recommend the C++ Primer Plus books. After each chapter there are summaries and programming exercises to sharpen your skills and make sure you've understood the whole chapter. I find myself running into problems on each of those exercises and I have to look up different functions to get around the problems, or get more in-depth reading the references on this site.

If you really want to put your knowledge to the test and become a better programmer, start programming Android applications. They have an Android IDE now called Android Studio, or you can use Eclipse with the ADT Plugin. They both use Java and XML and it's recommended to have Java experience before starting.

Or you can set up your own VMWare with MacOS running (if you have windows) and install the XCode IDE from Apple and program iOS applications. I believe XCode uses Objective C.
My advice:

Stop flitting around. Pick a language and learn to program. Learning the language is only a small part of it, in the same way as learning English does not make you any good at writing a book.
^ Top advice, sometimes you need to learn Why and How things do what they do, not just what they do. Also experience is the most important lesson in any area no matter what it is.
off: im interested in your game:D, if you could share it somehow(not the code:)) i would say thaks:P.off(off)

I found google the best "book". Seriously. When i get a new idea i search in google for how can i implement it. I get an error, i search for the solution.
This way you can learn a lot, it is also an experience.
For a real book Bjarne Stroustrup' The c++ programming language is nice, but a bit harder.
Also the" intermediate c++ programming(ebook)" is pretty easy, altough its for a camp and for teachers, but its really good, lots of examples, easy to understand, you can learn pretty fast with it.
So, you're saying I should pick 1 language and stick with it? I was advised that, and followed that advice. I did that with Ruby, and now I'm sick of Ruby and hate it. I loved it at first, then after a while I got annoyed with it. Python has stuck with me for my entire time programming.

@pandasd

What do you mean? Mr. BallGuy? Just google it, download it and run it. The EXE won't work for whatever reason(I tried it on my Windows partition and it runs fine), so you may need to either convert it yourself to an EXE or download the LÖVE/Love2d engine and run it yourself from the source .love file. If you're on Linux, you may need to do this. If you're on Mac, just run the .app provided. Other then that, I have no idea what you mean. If you're talking about the game I mentioned ages ago, that idea died... like 5 months ago... Google is a great resource, I agree! But I view it as more of a reference.

I'm programming for Android, actually. I hate the Android SDK. Also, for game development it has really bad performance. LibGDX is better and more cross platform. That's what I'm using for my game development on Android. I have a lot of Java experience. It's one of my favourite languages. I already know XML(I don't really consider it a language, because it's just random tags you make up yourself that something can parse(for example, the Android SDK parses the specific tags you put in via the XML document or via the GUI)). Another reason I hate the Android SDK is because it has a GUI for making menus. It saddens me when programs like these are invented. Why would I want to use a GUI when I can code? It makes 0 sense.

@anirudh sn

I didn't say I was finished with Java. I frequently use all the languages(except VB and Squirrel).

Thanks for the advice everyone! :D
closed account (Dy7SLyTq)
Another reason I hate the Android SDK is because it has a GUI for making menus. It saddens me when programs like these are invented. Why would I want to use a GUI when I can code? It makes 0 sense.


it actually makes plenty of sense. making a menu can take lots of code and formatting if you want it done right. it is there to make it easier. by your logic you shouldnt even use the sdk, because you could code the java, and the apk compiler yourself
I'd like to add, in C\C++ you use a resource editor to make menu's and such, these usually use a GUI and most are even *gasp* drag and drop!
Topic archived. No new replies allowed.