[CALUG] eclipse and C on Fedora

Jim Sansing jjsansing at verizon.net
Mon Nov 8 12:54:43 EST 2010


You are asking several questions here, so my reply may be a little
long-winded, but hopefully useful.

Probably the main difference between terminal editors and GUIs is that
the terminal editors require you to use a key sequence to perform tasks
while the GUIs automagically display information in popups.  If you have
spent enough time to learn the key sequences, then (IMO) not having to
move your hand between the keyboard and mouse gives terminal editors the
advantage.  Also, different GUIs provide different capabilities, and
none of the ones I have used (see below) are a clear winner over the others.

These features include:
- Line collapsing
- Auto-completion of function and variable names
- Popups for functions showing the arguments, including data type.
- Popups showing the values of macro definitions
- Popups showing the documentation for functions/classes (a man page in
a popup)

Theoretically, the GUIs also offer better debugging capabilities. 
However, I am more comfortable with command line gdb.  To me the GUIs
are way too busy and I find it command line more flexible (p *mystruct
or x/4x 0x80000c00 as opposed to a 4 click minimum and at least 10 to
find the menu for doing anything other than displaying local variables).

However, there are some things that (AFAIK) GUIs can do that terminal
editors can't.  For example, when a compile has errors, being able to
click on a compile error message and go straight to the flagged line in
the source.  (If anyone tells me that this is a _simple_ matter of using
ctags, then I demand you give a CALUG presentation on how to use ctags
to do this and all the other wonderful things that ctags claim to
provide!  Otherwise, I will continue to believe that ctags are a waste
of time and resources.)

I have used Anjuta (which is written in C/C++ and uses GTK), Eclipse,
and lately the Nokia SDK for Qt development.  Here are my impressions:

Eclipse:  Don't add C plugins to Eclipse, get the Ganymede Eclipse IDE
for C/C++ (http://www.eclipse.org/downloads/packages/).  I tried going
the first path and it was ugly.  Beyond that, yes Eclipse is best at
Java, but this version is pretty good at C/C++.  When the cursor is on a
variable or function/class, all other instances of it within the current
scope are highlighted.  If you know your way around Eclipse,
configuration is easier that the others.

Anjuta:  What I love about Anjuta is that it built my autoconf and
automake files for me.  I was then able to tweak those to handle my
custom requirements.  If you have ever battled ac/am you know that every
bit of help is welcome.  Unfortunately, when I upgraded to a newer
version, a lot of things changed.  My older project files didn't quite
work, so I spent a lot of time fixing those.  Editor functions were
different.  The compile errors wouldn't go to the source code.

Nokie Qt SDK:  This includes a designer for GUI (Qt specific)
interfaces.  Having used (and been spoiled by) the Google Android plugin
for Eclipse and its GUI designer, I am not all that impressed, but it's
better than not seeing the layout until you get your source compiled and
debugged.  Using the IDE for editing C/C++ is actually quite pleasant,
and I am considering using it for future projects.

I have looked at KDevelop, but don't have any projects using it.  Maybe
the version I have is old, but so far it feels clunkier that the others.

Just as an aside, I have had a couple of experiences with MS Visual
Studio, and my impression was, "OMG! Gag me with a fork!"  Maybe it
wasn't configured properly, but it couldn't even find corresponding
parens/brackets (and none of the other IDEs I've used made that a
configuration option).  The popup information was either too much or not
enough.  And if a library was non-MS, good luck (with the apologists
saying, "It didn't have a properly configured VS file."  Well, guess
what, it didn't need a configuration file for most of the other IDEs on
the planet!).

Later . . .   Jim


Walt Smith wrote:
> hi,
>
> I have eclipse with java on Fedora-12.
> Over the years, I've done spots of plain jane
> C in simple embedded processors, and some utilities 
> on a desktop, all using basic editors and once using
> text graphics with turbo-C.
>
> I'm not interested in asking about emacs, vi(m), gedit etc
> for this email.
>
> It's been awhile since I have inquired about using an IDE
> for C.  And I'm admittedly a bit lazy with this one task:
> adding C rpm packages to eclipse.
>
> SO:
> When using eclipse with java, it gives lots and lots of help
> ( similar to VS ) in the form of little windows and tooltips,
> inserting functions, refactoring, automatic fixups...
>
> If using eclipse to do C development, is there advantage
> other than what basic editors offer ( such as coloring syntax ) ??
> i.e. do C library functions showup with prototypes onscreen etc ?
> I hope what I'm inquiiring about is clear...
>
> thanks,
>
> Walt......
>
>
>
>       
>
> _______________________________________________
> CALUG mailing list
> CALUG at unknownlamer.org
> http://lists.unknownlamer.org/listinfo/calug
>
>   




More information about the CALUG mailing list