Impotant! Books to start learning video game programming ! I need it FAST!

Started by
30 comments, last by SimonForsman 11 years, 4 months ago

I'm 13 as well, I am fairly new to this forum, Don't let your age set you back. Many people code for the wrong reasons, don't be one of them and as for learning C# first, I highly suggest you to go straight to C++,many people think its a waste of time and some even think it is an advantage to skip C#, due to the habits it gives you.
This is possibly the worst advice on this thread, and some of the worst I have seen. I would like to see Zomboy79's games that he created with C++. How many? 0? And please elaborate on the "bad habits" that C# gives you. It's one thing for an old crusty legacy programmer who is sitting in his basement writing FORTRAN code on his Altair cursing C#, Visual Basic, Java, etc. for being new, flashy, and too easy, but it is entirely different for someone who doesn't know what they are talking about, let alone a little kid. By the way, you "waste" more time with C++ fumbling around with stupid issues like memory leaks and compiler errors then you do with C#.

C dominates the world of linear procedural computing, which won't advance. The future lies in MASSIVE parallelism.

Advertisement

[quote name='ifthen' timestamp='1353094167' post='5001616']You will need a lot of time and patience, but after a 5+ years, you should be able to program almost everything you wish (but be aware that the time needed to do it will still be in years).


5+ years, That's ridiculous. I started programming not much older than him and I picked up C++ in a year, a year later I was writing full blown 3d games in C++. My advice is skip C# and spend a while getting to know C++ and you should be able to program almost anything in 2+ years if you work hard.
[/quote]

I'd advise against skipping anything, especially a language like C# (Which is used almost everywhere today), It is however important to focus on one language to start with, which one isn't all that important. We usually recommend less obnoxious languages than C++ here to beginners but any language works, the important thing is to get started. (Both C# and C++ are worth learning at some point and neither should be skipped)

The big mistake alot of beginners make with C++ is that they think that memory management is the hard part (It isn't, especially not in C++11, unless you start to muck around at a very low level to gain performance but then it isn't the language that is hard (C++ makes writing low level code reasonably easy)). I wrote my first 3D game using C++ and OpenGL without actually knowing C++, i thought i did, but i really didn't (i violated the rule of three(The tutorials i used to teach myself didn't even mention it), abused C functions and constructs, didn't take proper advantage of the C++ standard library, made excessive allocations/deallocations and a whole bunch of other mistakes) and to be perfectly honest, i still don't really know C++ (Atleast these days i'm aware of my lack of knowledge)

The big problems with C++ in my opinion are:

1) Undefined or implementation defined behaviour. This is pretty much a minefield, C++ code that runs fine when built with Compiler X might act differently when compiled with Compiler Y or even a later version of Compiler X, I've used C++ for over 15 years now and still step on those from time to time, one of the moderators used to post a link to some C++ test that is pretty good for checking how well you actually know C++ (I don't know of anyone who has actually aced that test on the first try).

2) The whole C "compatibility" crap(which really isn't all that compatible anymore), while this isn't a big deal for experienced programmers(and might be beneficial in some cases since some of the C library functions and constructs have less overhead than the safer C++ versions) it is a huge problem for those learning how to program, doing things the old C way is extremely error prone and is one of the larger causes of security flaws in todays software and most C++ compilers doesn't even spit out a warning for you when you make those mistakes.

3) The online tutorials are generally pure crap which makes 1 and 2 far bigger problems than they have to be, a good book makes learning C++ properly a lot easier.
[size="1"]I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

This topic is closed to new replies.

Advertisement