Where to start...
Hello, I am very new to C++ programming. I am currently using a book that explains the basics of the C++ language and how to use the language to create basic programs. Though I have heard a lot of positive things about the language I have hundreds of questions about it.
First, I would like to know where to start if I would eventually want to make complex programs such as games and other applications. I know that essentially all games are made with C++, and many major applications such as Adobe Photoshop are made with the same language as well. I have tried to research this stuff, but I have just gotten more confused.
I am really confused and if someone could help me, it would be greatly appreciated. Basically what I want to know are any suggestions of where to go to eventually learn how to make games, and other applications, and what are the different types of code of C++ to make these different things (I am not sure if that made sense.)
as with any language, start with the basics. learn them well and
then go looking for material on game program. dont start out
with a view to a goal like games because you'll want to jump
ahead before you are ready. when you are ready, there's loads
of stuff available, here's a link from the homepage of the site
that aims to point out some of the main considerations you need
when writing a game
its clear that this doesnt get into nearly enough detail, but it
does point out what you need to consider, how big and powerful
a game do you want to create really? i dont have any links
i can recommend, but i'm sure that whoever follows this post can,
and when you do start, try sampling other peoples games,
use the games section of this forum and get some practice in then
edit: one thing i can point you to is a thing called openGL, its
for graphics programming and there's a really detailed site for
people beginning to try graphics programming.
When you finish the book you are currently reading, try Beginning C++ Game Programming:
don't start out trying to build games until you know the language VERY WELL and also have an in depth knowledge of the operating system you're planning to write them for and the SDKs to program to that operating system.
If you try to jump right in you'll only be overwhelmed by the massive flood of things you know too little about and get terribly frustrated at which point you'll likely just give up.
Also learn about software design first, learn to write design documents and use UML. Non trivial games are large complex applications that need carefull analysis and design or you'll get stranded while building them.
Oh god, not another "where do I start" thread.
Or it's more common alias www.google.com
Moved to GD
Thanks to all of the non-sarcastic replies above...
oh and, thanks for the helpful, on topic, encouraging feedback Salem...
Thanks for the book suggestion 7stud, I see it is packaged with another book:
Do you know anything about this one?
if you have no previous programming experience I suggest you get to know the basics in C first. of course alot of people will tell you this is unnecessary (and it might be), but unless you are good at picking up things quickly you might struggle with some advanced C++ topics (I did). some C++ books also assume some experience with C or another procedural language, and although some don't, those that don't are really C books teaching you a little bit of C++ (C++ is a superset of C).
if you plan on getting into game programming like someone mentioned above you have to have a great deal of experience in the language you program, and if you plan to get a great deal of experience with C++ most will tell you to get some experience with C first (then C++ will make sense to you, and you will pick it up faster). I too eventually plan on getting into game programming and have chosen the C to C++ path, and can tell you that I do not regret it.
It seems to me as if game programming is the most prominent use of C++ out there, so what other things can one use C++ to create?
Whatever you wish, except the basic parts of an operating system I suppose.
For example, applications such as Adobe Photoshop, Sun's Java Virtual Machine, many of Microsofts applications... Check this out.
Right, I have seen that list. But how does one go about creating that type of interface. With Visual Studio?
With one of various APIs. Win32, wxWidgets, GTK, Qt...
Is Win32 only for the C language not the C++ language?
Win32 is written in C but you can use it in C++ just fine.