FRIHOST FORUMS SEARCH FAQ TOS BLOGS COMPETITIONS
You are invited to Log in or Register a free Frihost Account!


Learn C/C++ to make free software?





Peterssidan
Hello. Very Happy

I have been really inspired by the free software culture and I want to be able to make free software myself. Making games is the most interesting but ordinary programs is also cool. I'm pretty good in Java but I think C++ is the way to go. I know a little C and C++ but I want to learn more. What books are good for this? Or is there good online information about it? I don't want to take a random book about C/C++ and after that I take another that contains 50% information that I already have learned.

About the software: I have understand that I should use the GCC. What graphic library should I use? Is there different for different purposes? I want to make it easy to convert the program to different platforms. Does this depend on my programming technique or is the choice of libraries more important?

I don't think I'm ready to jump into an existing project because my lack of C/C++ experience and knowledge. Maybe there is some other forums I should ask my questions to but I don't know. Please point me in the right dirrection Anxious
AftershockVibe
Some book suggestions are here:
http://www.frihost.com/forums/vt-91205.html

It should be noted though that the book I mention there will teach you how to program in C++, not how to program. If that makes sense? That should be fine fro you though by the sounds of it.

GTK (Gnome) and Qt (KDE) have cross platform implementations and Qt in particular might be something you want to look into with it's new KDE 4 shininess.

If you want to start in the open source world I am always told that the best way to start is by doing a few patches for your favourite app.
kafechew
Here we go...
A C++ article/ note for totally beginner!

Learned C++ start from 0!

Software recommended: Code::blocks
Jamestf347
You could try c++ for dummies but, i'd really suggest taking a class whether it be at highschool, or college.
Fire Boar
Qt, by Nokia, is a great toolkit to get learning on. It's got pretty much all you need to make great GUI-based programs and once you figure out C++ class inheritance and how it's used in Qt it's quite easy.

For a compiler, if you're developing for Linux, use GCC. If you're developing for Windows, use MinGW (provided with the Windows version of Qt). If you're developing for Windows on a Linux machine (this take a bit more work to get the makefiles right), use the MinGW cross compiler (look on your package manager), and Wine to test it. MinGW is based on GCC so the invocation command is exactly the same for each.

Note that for a Windows program you'll need the Qt dll libraries that you use (normally QtCore and QtGUI, and sometimes QtSQL) and mingw32.dll in the system32 folder or in the directory where the executable is located. Make sure you build the program in Release mode rather than Debug mode when you've finished, because the Debug libraries are a lot bigger than the Release libraries.

http://www.qtsoftware.com/
leontius
Actually quite a lot of free software are not in C/C++. PHP, Python, and Java in particular are quite popular within open source community (yes if you go free then why not open source it anyway). You can browse programs by programming languages in sourceforge.net - there might be something similar to what you want.

For games... if you really want C/C++ then consider SDL for 2D and OpenGL for 3D. IMO making games in Java and other higher level languages is easier than making it in C/C++, except if you want to make high-profile cpu-intensive game such as those sold in stores (which you will never probably able to accomplish unless you found a company).
Stubru Freak
leontius wrote:
Actually quite a lot of free software are not in C/C++. PHP, Python, and Java in particular are quite popular within open source community (yes if you go free then why not open source it anyway). You can browse programs by programming languages in sourceforge.net - there might be something similar to what you want.

For games... if you really want C/C++ then consider SDL for 2D and OpenGL for 3D. IMO making games in Java and other higher level languages is easier than making it in C/C++, except if you want to make high-profile cpu-intensive game such as those sold in stores (which you will never probably able to accomplish unless you found a company).


I think by "free software culture" he meant Free Software, not just freeware.
Peterssidan
It has gone a while and people have started to respond to this topic again so I think I have to update the situation. I have started to learn SDL by translating a half done 2D game that I have written in Java into C++ and SDL. And for the fun feeling I am using OpenGL to gain performance even if it's not really needed Wink It's quite time consuming because you don't get much for free like in Java but it's more fun in my opinion. Biggest problems is that I'm not used to the language enough yet and don't get a good code structure. The includes and such are a bit tricky. But hopefully it all comes after some practice. At the moment school takes a lot of time so I don't spend much time on it at the moment.

Stubru Freak wrote:
I think by "free software culture" he meant Free Software, not just freeware.

Exactly Smile
Related topics
Reply to topic    Frihost Forum Index -> Scripting -> Others

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2011 Frihost, forums powered by phpBB.