Any suggestions on the best way to learn C & C++?
Yes I know, buy a book and read it… I kind of know the basics, its the window type stuff I need.
For microsoft OS, I have just done loaded the free minGW
& IDE, Dev-C++. From:
If what I heard was right, most of the Blender source is in C. I don’t know a lot about C. The “windowing” stuff (I’m assuming you meant GUI) is all (formerly) proprietary using their own libraries. So basically you can only learn from the source itself. (Or from documentation people may write in the future).
If you’re interested in learning C++ (a far superior language, with a very minimal performance hit, if any) check out http://www.cplusplus.com/.
I think some of the new-ish Blender source is in C++, but that was never very clear.
Also, as for a compiler, there is no need to have anything more than GCC/MinGW if you’re not working with a lot of DLLs (as is the case with Blender). You don’t even need an IDE if you don’t feel like using one (I never have =).
You know I got this old book, “Fast Algorithms for 3D-Graphics” by Georg Glaeser and it’s really a great introduction to 3d programming. He uses an old version of C , but it’s not a big deal for learning. What this book is good for is learning how to program for 3d graphics. It’s really interesting. I’m enjoying it, but I’m not out to become a 3d programmer, I just like to learn how things work. I’m not one of the “above average” people, I don’t think, LOL, but I’m able to understand this book, it’s well written in my humble opinion.
try wxwindows (www.wxWindows.org).
there you can learn all the things you need to understand window-managment.
and wxwindows let you compile your app under mac, windows, linux… and
others.
but like theeth said: blender is opengl. so a good understanding of opengl would help you if you want to program for blender.
but for the 2d-gui stuff just drop a mail…
there is not THE bood about c and/or c++.
i’ve learned it with try an error and MANY books.
a reference is the book from bjarne stroustrup; c++; addison-wesley.
what helped me are references to unix system programming
and also short references to c++. (also addison-wesley)
but there is no fast way to learn it. just try and error. or have a good
sponsor or just a good time!