I'm going to start working on some C++ tutorials, but I want to start with this basic question, first.
1) You will need some books. How advanced you can start depends a lot on your background, so we'll start with that. If you've never used an object-oriented programming language before, you will want to begin with a gentler introduction. The Teach Yourself series or For Dummies books aren't bad for this, but they will not make you an expert, either. One of the best books to arrive at is The C++ Programming Language, by Bjarne Stroustrup. It is not for the faint of heart, but it will help you a LOT.
2) If you know C or Java already, be prepared for some surprises and bumps along the way. Java handles a number of things quite differently from C++, even though they look similar. Java also does a number of things for you (garbage collection) that C++ simply does not do. Similarly, if you know C, you will be tempted to do things in C++ the same way you did them in C because you can. Don't do it! C++ has its own way of doing things. If you have a C++ book that wants to teach you C first, get rid of it! C++ is not just C with classes. C++ is a different language with different rules and restrictions, as well as different preferred ways of doing things.
3) Be aware that a lot of people/companies have provided a lot of extensions to C++. For example, C++ does not provide any graphical utilities. Microsoft's Visual C++ offers additional stuff for that. Borland's C++ has different ways to do the same. wxWidgets, GTK+, and other group efforts provide more. I know that making programs "pretty" with a nice GUI is fun, but worry about how the language works, first. It is easy to get lost in exploring how various GUI toolkits work and forget how the basics work. I recommend using Dev-C++ as an initial development environment because it's free, and doesn't distract you with lots of extras.
4) Finally, write a lot of code with patience. C++ is a language that can easily take years to become good at, and even the creator is learning new ways of using it.
I really want to learn C++ so I bought Ivor Horton's "Beginning Visual C++ 2005" but I really don't know if I can read another 10 chapters that explain what a loop and a variable are, but then again if I skip it, I will probabley miss out on something valuable.
Once one is pretty confident in knowing how the language works, what tools would you suggest for GUI design? Which are the most flexible, and which are the easiest to use? Thanks.
wxWidgets has a book out now that talks about using it, and is cross platform. For myself, I think the key is to wait until you understand the other aspects and pick a choice that is well-documented. wxWidgets and GTK+ will probably give you the most support via forums as you learn.
Sounds good, thanks for the advice.
Because C is NOT a useful subset of C++. For example, C requires you to learn the syntax for scanf and printf, which are both rather tricky to remember/learn. By comparison, cin and cout are much easier to work with.
Also, when using C you frequently have need of macros, which are almost never needed in C++. To me, it makes no sense to learn something in C, then throw it out to learn the C++ way of doing things.
Good topic and I agree with original poster. I'm self-studying primarily from C++ Primer Plus, 5th Edition, currently at chapter 8, functions re - templates & serialization. A little confusing at the moment though I'm hoping it will clear itself up as I progress.
Ultimately, I want to GUI program using C++, for personal purposes, and I'm realising that a good understanding in the basics (or the non GUI stuff) is paramount.
Just my 2 cents worth.
If you dont like reading books you can also buy 3DBuzz "C++/OpenGL" Video tutorials.
thank you
wow maybe you guys could check out my post and help me learn where to start as well
There are currently 1 users browsing this thread. (0 members and 1 guests)
Bookmarks