Some free online ones would be nice, but if you know of any good books that teach visual C++ i’d be grateful. I’m kinda intermediate.
Google is your friend…
C++ tutorial will bring up a bunch.
Google, bing, i’ve tried them both. There are a lot and i’ve looked through tons of them. But finding some good tutorials, that are up to date, and aren’t just some kid who gets all hyped up about doing a bunch of tutorials and only does 5 is rather difficult.
Well, these look ok for starters…
There is no magic pill.
Tutorials are a great way to learn the features of Visual Studio and .Net for Windows, or GNU C/C++ and Eclipse for the Unix variants. MSDN.com is great for Windows/Visual C++ tutorials.
To really learn C++, however, you are going to need to read books on C++ programming. They will give you insights into the way that C++ is used. I would recommend three:
- C++ Primer, Stanley Lippman - A Classic. Very in-depth coverage of C++.
- Effective C++; Scott Meyer, Bible for C++ programming techniques.
- Design Patterns - Gamma, Helm, Johnson and Vlissides. THE bible for modern Object-Oriented software design.
- What do you plan on doing with C++?
- Do you already know C, or any other variation thereof?
It’s mostly a hobby. The main purpose it to hopefully make some games.
I learned a bit of C before I started C++, but not really enough to do anything.
Why the choice of C++? If you are just getting started in programming - C++ is a big first bite to take.
I will assume that you are on a Windows PC since C++ is not appropriate for game development on a Mac. Do you have a C++ compiler?
YoyoGeezer, you do know that OSX is a UNIX-like operating system based on C++ (not to mention other C derivatives)?
I’m not going strait into C++. I learned a lot of basic, then learned some C, and am now learnig C++. I guess like you said, i’ll probably need to get some books to really get into it. I’ve learned about classes (i still need a little work with these), functions, ints, pointers, referances, and a bunch of other variables, passing variables, returning variables, function overloading, logic operators, include statements (i’m actually trying to do something SFML), operators such as ++, >=, ect. ect…and some other stuff i can’t list off the top of my head, but those are the main things. So i’m trying to expand some more on that, and start using graphics and stuff (thats what SFML is for). But i’d still like to get a bettter grasp of using C++.
P.S. I’m using visual studio 2010 express, i just switched over from the 2008.
While you are correct that OSX is a Unix variant, OSX is derived from Mac OS9 and NeXT OpenStep 4. When OSX first appeared two API frameworks were supported: Carbon and Cocoa. Carbon has been deprecated (made obsolete moving forward). Cocoa is the recommended development framework for iOS today. This is because it is fully supported for all iOS platforms through an integrated development environment called Xcode.
To do graphics programming with Carbon would lead to developing with a very low-level API that would have no support for Apple’s touch interface and would not run on anything but a Mac running OSX 10.5+. A Cocoa graphics program would utilize OpenGL ES which is supported on all Apple products and is a much cleaner, simpler UI.
Apple’s Cocoa framework is implemented in Objective-C, which is an extension to the C programming language just as C++ is. You cannot, however, call Objective-C directly from C++ OR Objective-C++ code. To do this requires a bit of software engineering and layers of redundant code (believe me, I have tried).
In short, you can’t mix the two languages - unless you are doing so to prove an intellectual point. In practice it is more effort than it is worth to mix C++ and Objective-C for real application development.
Are you really committed to C++? Unless you are a Computer Scientist and enjoy very challenging development, you would probably be more productive using C# or Visual Basic. Both are available along with a C++ version of Visual Studio Express. You can install all variants onto the same machine. They coexist well.
If you have VS2010 - I would recommend graphics programming for the PC using Microsoft’s most excellent WPF .Net 3.5 - 4.0 utilizing C#. This is an extremely easy graphics framework to get real results quickly. Using C# gives you much better context help and saves much headache when dealing with system types. The syntax is close to C/C++.
Use the Microsoft tutorials on:
- WPF (Windows Presentation Foundation) .NET 3.5
- DirectX or OpenGL - for drawing pictures and scenes.
I wouldn’t say I’m set in stone about using C++. The only inclanation I have not to switch is that i’ve been doing it for a while now. I’m thinking of maybe a proggraming related career, but not I’m not sure yet. I did do some a lot with Dark Basic, which was a great softwhere for making games with simple code, but I kinda stopped because there wasn’t a lot of community support (online tutorials ect.), and most of what there was was based in the UK.
I guess I look into C# a bit. Microsft C# express looks pretty good.
PS. What about directX? Is that any good?
Ok, so I’ve looked at C# a little, and it looks pretty good. Plus my highschool offers C++ so I could get more into C++ then. Unfortunatly, they don’t offer C# but that doesn’t really surprise me. But i guess that gives me more reason to learn C# now and maybe more C++ later. I think i’m gonna try to hang on to C++ , and learn C# in till I can take C++ in highschool. So, that now brings me to the question. Know any good C# tutorials? Heh, heh.
More than likely you can take a C++ class w/o C#, being as C++ is a generic language and C# is a MS product.
The ONLY reason that I recommended C# was that he has MS Visual Studio and wanted to do graphics programming on a PC. The recommendation was not a technical one for developing commercial games. It was for a young person doing hobby programming. I thought that C#and .NET would be easier for a newbie graphics programmer to both learn and achieve results faster.
If you want to learn C++ I would recommend learning it in a class. I think that it would be difficult to grasp the Object Oriented concepts and design principals without guidance; especially, if it is your first foray into Computer Science.
If you were writing commercial games - you would use C++, Java or Objective-C for development.
I’m aware that C# has made no splash in the gaming industry. And your probably right that C++ is easier to learn in a class. But right now, I am what you said, a young person doing hobby programming. I’m not learning C# for a career or anything or to make it easier to learn C++, i’m just doing it as a hobby. So I think for now i’ll try some graphics programming with C# and hang try to hang on to what i know of C++ and take it in high school, maybe java too since they offer it. That way I can do some programming as a hobby now, and then if I want to get it into programming as more of a profession later, it will be esier. I think your right, i probabbly can get farther with C# at the moment than I can with C++, SFML doesn’t have a lot of good tutorials.
yes, C# is not for high-performance game programming. This is because it is tied to the .Net runtime environment which is a virtual machine. Therefore, it will be slower. Remember, there is lots more to graphics programming than games. Most advanced graphics programming is done in photorealistic raytracing and effects - the kind you see in the movies.
Thanks yoyogeezer, you’ve been a great help.