To Learn C++......................?
-
simmerdown
- Posts: 3761
- Joined: Wed Oct 26, 2011 3:36 pm
- Location: Northwest Nowhere
To Learn C++......................?
this is for my kid, who came to me saying he wants to learn to code, and make games
i gather that, like Live, most games are being done with C++, is this still the case?
where to begin?...i mean the very beginning
is there a platform of some kind that you work within?
as you can tell, i know zilch about this, so any guidance, links, or ideas greatly appreciated
i gather that, like Live, most games are being done with C++, is this still the case?
where to begin?...i mean the very beginning
is there a platform of some kind that you work within?
as you can tell, i know zilch about this, so any guidance, links, or ideas greatly appreciated
Re: To Learn C++......................?
I was looking into a career change myself and looked into this. A good place to start with programming is to start with a simpler language to learn. From what I have read, if you want to become a C++ expert, you really need to be looking towards a degree in computer science (unless you are extremely good self learner, very driven and can devote a lot of time to it). It is likely to take a very long time - probably longer without any tuition. A good program to begin with would be Java. Generally you can get a good grounding and begin writing programs in 3-6 months from courses I have been looking in to. And in any case, these days most good programmers use several languages, not just C++.
Having said all of that, here is a book that I find extremely well written that outlines the fundamentals very well. And I believe it is written by one of the creators of C! I started off well, but things change and I now don't have much time to devote to it.
Author: Bjarne Stroustrup
Title: Programming - Principles and Best Practices Using C++
Hope that helps...
EDIT: That book tells you what compilers you need etc to create your C++ programs - pretty much covers everything
Having said all of that, here is a book that I find extremely well written that outlines the fundamentals very well. And I believe it is written by one of the creators of C! I started off well, but things change and I now don't have much time to devote to it.
Author: Bjarne Stroustrup
Title: Programming - Principles and Best Practices Using C++
Hope that helps...
EDIT: That book tells you what compilers you need etc to create your C++ programs - pretty much covers everything
Last edited by trevox on Tue Oct 23, 2012 12:28 pm, edited 1 time in total.
Re: To Learn C++......................?
My progrmmer mate says learn C then I'll be ready for anything but he started when he was 8yrs old. Getting a Jazzmutant Lemur was my introduction, light and satifying.
Could start here
http://msdn.microsoft.com/en-us/library/bb203894.aspx
or
http://www.microsoft.com/visualstudio/e ... o-overview
I'm playing around with web languages atm learning php/JS is teaching me allot, for me atleast its a long road!
Could start here
http://msdn.microsoft.com/en-us/library/bb203894.aspx
or
http://www.microsoft.com/visualstudio/e ... o-overview
I'm playing around with web languages atm learning php/JS is teaching me allot, for me atleast its a long road!
-
subliminal
- Posts: 23
- Joined: Tue Sep 27, 2005 3:46 pm
Re: To Learn C++......................?
Following on from what trevox said.. might be worth looking at Processing (which is built on Java and can easily lead into learning the whole of Java).
It was specifically designed to teach programming, so is a little more 'friendly' than most other languages. There's also a great community around it, and perhaps best of all, some fantastic books - I learned with 'Learning Processing', which I thoroughly recommend.
http://www.processing.org/
BTW, I also did a little bit of C++ after learning processing, and found the transition quite straightforward. The principles (which are actually the 'hard bit') are the same.
It was specifically designed to teach programming, so is a little more 'friendly' than most other languages. There's also a great community around it, and perhaps best of all, some fantastic books - I learned with 'Learning Processing', which I thoroughly recommend.
http://www.processing.org/
BTW, I also did a little bit of C++ after learning processing, and found the transition quite straightforward. The principles (which are actually the 'hard bit') are the same.
Last edited by subliminal on Tue Oct 23, 2012 2:42 pm, edited 1 time in total.
Re: To Learn C++......................?
When actually starting to make the game, a small team (a couple of people) is usually better than doing everything by yourself. This might be jumping ahead of things a bit, of course, but something to keep in mind. You need graphics, music and sound effects - not to mention brainstorming the actual game design - in addition to coding the darn thing.
Also: even small games are fairly complex beasts nowadays. It's rewarding to code most of the game engine by yourself, but especially when starting out, reinventing the wheel and pouring huge amounts of time into that might turn out to be a downer. There are very good 3rd party game engines available these days, used in productions of all sizes, and some of them have very indie-friendly licensing terms.
For example, Unity 3D (http://unity3d.com/) is pretty much "grab and go", and the free version is a very good learning tool. Make no mistake, it's a professional game engine, not a paint by numbers toy where you click around and it spits out a game for you. It will take a lot of coding to put something really nice together, C# in this case - but it uses the Mono framework instead of .net, so it isn't Microsoft bound. For example, the new Wasteland sequel will be using this engine, and coming out on Windows, Mac and Linux.
Good luck, it will be an interesting path to take for sure
Also: even small games are fairly complex beasts nowadays. It's rewarding to code most of the game engine by yourself, but especially when starting out, reinventing the wheel and pouring huge amounts of time into that might turn out to be a downer. There are very good 3rd party game engines available these days, used in productions of all sizes, and some of them have very indie-friendly licensing terms.
For example, Unity 3D (http://unity3d.com/) is pretty much "grab and go", and the free version is a very good learning tool. Make no mistake, it's a professional game engine, not a paint by numbers toy where you click around and it spits out a game for you. It will take a lot of coding to put something really nice together, C# in this case - but it uses the Mono framework instead of .net, so it isn't Microsoft bound. For example, the new Wasteland sequel will be using this engine, and coming out on Windows, Mac and Linux.
Good luck, it will be an interesting path to take for sure
Re: To Learn C++......................?
javascript is a nice entry point..
(after that he can meddle with the Object Oriented gorillas...)
that said..
look for a program that opens up his boundaries to interesting stuff other than games
oh and start tomorow... (the younger the better for picking up languages and expression forms)
(after that he can meddle with the Object Oriented gorillas...)
that said..
look for a program that opens up his boundaries to interesting stuff other than games
oh and start tomorow... (the younger the better for picking up languages and expression forms)

-
ian_halsall
- Posts: 1715
- Joined: Fri May 27, 2011 8:52 am
- Location: South London
- Contact:
Re: To Learn C++......................?
I used to program in c then c++ then a bit of java and perl then c#.
Most high performance computing (games, music) is written in c++.
Browser games tend to be written in flash and javascript.
But c++ is a VERY complicated language and starting off with it is NOT a good idea.
Start with VB.net - you can write screens in minutes with the free version of visual studio, move onto c# for object orientation.
And if you're still with us in 2 years move onto c++ for games and music apps.
Most high performance computing (games, music) is written in c++.
Browser games tend to be written in flash and javascript.
But c++ is a VERY complicated language and starting off with it is NOT a good idea.
Start with VB.net - you can write screens in minutes with the free version of visual studio, move onto c# for object orientation.
And if you're still with us in 2 years move onto c++ for games and music apps.
-
simmerdown
- Posts: 3761
- Joined: Wed Oct 26, 2011 3:36 pm
- Location: Northwest Nowhere
Re: To Learn C++......................?
i knew i was asking in the right place, great info so far....
he's actually 15, and is part of a group of 4 friends that have been meeting for at least a year to brainstorm and learn...he is the designated art director, cus he can really draw, but wants to know how the code part works too...2 of the 4 are graduating and going to Digipen in Seattle next year, the plan being to regroup in a few years and 'go big'. even if that doesn't fully materialize, these will def be good things to know how to do
he knows Blender (opensource animation and gamemaker prog) inside and out, and i'm teaching him Live bit by bit so he would be able to contribute in the sound design and music dept. as well
anyway, thanks all, we will get into gathering all these sources for a look this evening, so any other adds will still be greatly greatly!
he's actually 15, and is part of a group of 4 friends that have been meeting for at least a year to brainstorm and learn...he is the designated art director, cus he can really draw, but wants to know how the code part works too...2 of the 4 are graduating and going to Digipen in Seattle next year, the plan being to regroup in a few years and 'go big'. even if that doesn't fully materialize, these will def be good things to know how to do
he knows Blender (opensource animation and gamemaker prog) inside and out, and i'm teaching him Live bit by bit so he would be able to contribute in the sound design and music dept. as well
anyway, thanks all, we will get into gathering all these sources for a look this evening, so any other adds will still be greatly greatly!
-
ian_halsall
- Posts: 1715
- Joined: Fri May 27, 2011 8:52 am
- Location: South London
- Contact:
Re: To Learn C++......................?
I forgot that iOS uses objective c (there's a java to objective c translator package) and Android is java.
Long term can't really go wrong with c++ because once you know this the others are like falling off a log.
Long term can't really go wrong with c++ because once you know this the others are like falling off a log.
-
antarktika
- Posts: 1006
- Joined: Mon Jan 04, 2010 12:54 am
Re: To Learn C++......................?
honestly, I think just taking a non-language specific class in programming theory is the way to start. I'm still incredibly green, but I tried taking a Java class and started drowning 2 weeks in, got into a programming theory class, then C, now I'm back in Java and handling it okay. It's definitely a long journey, but I've been enjoying it thus far.
-
ian_halsall
- Posts: 1715
- Joined: Fri May 27, 2011 8:52 am
- Location: South London
- Contact:
Re: To Learn C++......................?
maybe but if you are keen on programming then visual studio is a killer environment - the free one is cool as well!
Java sucks in comparison - the IDEs are grim.
Java sucks in comparison - the IDEs are grim.
Re: To Learn C++......................?
^This, though I dont know if I would start with MS docs, more like the stroustrup books listed earlierMr-Bit wrote:My progrmmer mate says learn C then I'll be ready for anything but he started when he was 8yrs old. Getting a Jazzmutant Lemur was my introduction, light and satifying.
Could start here
http://msdn.microsoft.com/en-us/library/bb203894.aspx
or
http://www.microsoft.com/visualstudio/e ... o-overview
I'm playing around with web languages atm learning php/JS is teaching me allot, for me atleast its a long road!
I do C for a living for embedded systems, and once you understand something like C where you interfacing with chunks of memory and how to manage dealing with pointers in memory and not having something clean up and guide you through possible mistakes it makes it 1000x easier to pick up any language out there.
Most people I know that do C can look at pretty much any other language out there and without formally knowing it still be able to debug other peoples issues. The reverse cant always be said, the lower level you start out at the easier it is to pick up anything higher level
-
ian_halsall
- Posts: 1715
- Joined: Fri May 27, 2011 8:52 am
- Location: South London
- Contact:
Re: To Learn C++......................?
My fave language is still c although I never program in it any more.
But I have to say that c++ is much more difficult because of the way that people write it and the half-arsed object model.
Bear traps everywhere.
Check the Scott Meyer series of c++ books - great books for programmers but seriously - it is complicated to get right.
But I have to say that c++ is much more difficult because of the way that people write it and the half-arsed object model.
Bear traps everywhere.
Check the Scott Meyer series of c++ books - great books for programmers but seriously - it is complicated to get right.
Re: To Learn C++......................?
Yeah, this sounds exactly like the setting I was getting at with my comment. A group of friends like that is a great starting point!simmerdown wrote:he's actually 15, and is part of a group of 4 friends that have been meeting for at least a year to brainstorm and learn...he is the designated art director, cus he can really draw, but wants to know how the code part works too...2 of the 4 are graduating and going to Digipen in Seattle next year
In that case, check out existing game engines for sure. Unity can import stuff from Blender directly, and I've worked with small game studios with the actual production pipeline centered around the Blender/Unity combo. Good times, in any case it sounds like your kid is set up very nicely for the futuresimmerdown wrote:he knows Blender (opensource animation and gamemaker prog) inside and out, and i'm teaching him Live bit by bit so he would be able to contribute in the sound design and music dept. as well
-
darkenedsoul
- Posts: 1223
- Joined: Wed Jul 28, 2004 10:21 pm
- Location: Massachusetts, USA
- Contact:
Re: To Learn C++......................?
C first to get a grounding in coding basics. If on windows get the free 2012 Visual Studio Express which can house C, C# and Visual Basic under one IDE. I am slowly trying to get the C#/C++/VB stuff but I need to sit down and spend time doing this, it ain't gonna be learned in a matter of days, esp. to comprehend everything, esp. when they get into the OO side of the fence. I've done a little C coding (Xenolink BBS program
), Arexx (Amiga Rexx), Korn Shell, Bash, Bourne shell, C shell, perl, taken 2 online classes for C# to wet my feet. Java when work is slow in the office, VB at home when I get around to sitting down and picking up where I left off. I have my Python book but haven't started on that either! So settle for C to get grounded in the basics (style, flow, semantics, structure, etc) then move to C++ or Java (or both). Once you understand the concepts of OO coding interchanging between them isn't too difficult, I think C#/Java are easiest syntax-wise compared to C++. That uses some different adiges(sp) for input/outputs.
In respect to the comment on Java and IDE, you got 2 free choices off the top of my head, NetBeans and Eclipse and they are pretty darn powerful for what you can do in them. Just need your JRE 1.x.x and off and running for it.
Mike (dabbler in coding.... lol )
In respect to the comment on Java and IDE, you got 2 free choices off the top of my head, NetBeans and Eclipse and they are pretty darn powerful for what you can do in them. Just need your JRE 1.x.x and off and running for it.
Mike (dabbler in coding.... lol )
http://www.darkenedsoul.net - main website
Ableton Live 8.x/9.x : NI Komplete 8 : Home built 4690K 16GB 500GB SSD, 1TB 7200, 2x2TB.
Ableton Live 8.x/9.x : NI Komplete 8 : Home built 4690K 16GB 500GB SSD, 1TB 7200, 2x2TB.