What is the best C IDE on Linux?
Robert G. Brown
rgb at phy.duke.edu
Wed Apr 4 07:18:53 PDT 2001
On Wed, 4 Apr 2001, Chris Richard Adams wrote:
> What is the best C development environment on Linux? I am so used to
> great Java IDE's on windows and I want to write a bunch of c programs on
> Linux - redhat - now...but its terrible to go back to plain vi and
> telnet sessions to my server.
Depends on what you want. vi is of course atrocious (except to die-hard
old unix weenies, who enjoy using an editor designed when men were Men
and Unix was small enough to run on a PDP-11 with a real VT100
To do e.g. graphical interfaces, check out glade. glade exports to C,
C++, perl, Ada85 and eiffel and maybe even more stuff by now (it saves
the GUI in XML, so conversion to any particular GUI library/language
combination is a matter of someone writing the requisite filters). For
C code, it does (in my opinion most unfortunately) "force" you to use
the Gnu Way to build the application -- autoconf/configure and all, and
pretty much dictates the structure of your source tree as well. This is
good in that they've done it well and it works; it's bad because a
simple fifty line bit of code to do some simple task in a callback
fronted by a simple interface turns into a humongous source tree with
all sorts of complexity.
The "standard" code development system is gcc, emacs, make, gdb and
friends, and various support tools (e.g. lint, sed, etc.). An essential
(IMO) component these days is also some sort of code revisioning, e.g.
There is an excellent book by Glass et. al. on programming in the Unix
environment that you should consider buying.
I personally use jove (Jonathan's Own Version of Emacs, a small,
relatively simple emacs) for editiing (I'm writing this email within
jove coupled to pine) and have a suite of Makefiles and project
templates that I've used so long that I've bundled them up into tarball
form under CVS control so that I can just unpack a project template and
jump in and edit code. The C template has a very fancy ready to run
Makefile, a template man page, a command line (getopt) parser template,
a simple functional code layout, and instructions. It would work fine
in emacs as well (in both emacs and jove one can invoke make from inside
the editor and the editor interfaces with the syntax errors from the
compiler so that fixing them is a fully integrated task). Let me know
if you want a copy of the template project tarball.
Finally, there are higher end tools like ddd (nearly a complete
integrated environment), xxgdb (ditto, I suppose, maybe) and commercial
tools from e.g. parasoft.
Robert G. Brown http://www.phy.duke.edu/~rgb/
Duke University Dept. of Physics, Box 90305
Durham, N.C. 27708-0305
Phone: 1-919-660-2567 Fax: 919-660-2525 email:rgb at phy.duke.edu
More information about the Beowulf