Help with C Code in Fedora

Jud Craft craftjml at gmail.com
Fri Jan 16 03:21:27 UTC 2009


He sounds like he's just starting out, and is still grasping object
oriented.  GTK+ stopped being an option just yet -- it requires more
than competent knowledge of C (function pointers!) and object-oriented
design.

He sounds like he wants to do pixel manipulation, so that rules out
GUI toolkits.  That sounds like a multimedia library right there.  So
maybe it's time to learn C & SDL, but it will be a little difficult.

In addition, he probably hasn't compiled anything before, or used a
makefile or GCC.  There's a lot of stuff that has to be reigned in for
a newbie linux programmer.

Try starting with the language.  After he gets used to C, then he can
tackle a GUI toolkit like GTK.

Although personally, it would be much better if he was introduced to
GUIs and graphics libraries at a higher level.  Trying to learn C
_and_ program graphics/interface is learning two moderately difficult
tricks at the same time.

I'd recommend starting higher level (use Python, Pygame - that is, SDL
for Python) -- learn how graphics libraries work first, and Python
provides an easy, gentle introduction to objects.  Then, when you're
ready, learn C.  After that, learn SDL & C.

You can google python, and google pygame, for details on how to use
them -- I believe Fedora has them in the
System->Preferences->Add/Remove Software.

You essentially have to learn the C language, also learn the library
(GTK or SDL), and possibly learn object-oriented programming
(mandatory for any GUI work).  He needs to choose one and get
comfortable, and then start tackling the other.  Python itself is a
very easy language to pick up on for a first-time programmer, since it
doesn't have the huge compile/make hurdle that C/C++ do, and once you
understand basic programming concepts, you could jump to something
harder.

Or go straight into it:  learn how to use gcc, learn how to program C,
learn SDL.  That's straight into the hard stuff, but much more direct.
 The choice is yours.




More information about the fedora-devel-list mailing list