Re: A good IDE for C development?
From: Loren M. Lang (lorenl_at_alzatex.com)
Date: Tue, 26 Oct 2004 00:04:54 -0700 To: Giorgos Keramidas <firstname.lastname@example.org>
On Sun, Oct 24, 2004 at 12:45:55AM +0300, Giorgos Keramidas wrote:
> On 2004-10-23 22:52, John Oxley wrote:
> > On Sat, 23 Oct 2004 22:39:24 +0300, Giorgos Keramidas wrote:
> > > On 2004-10-24 03:35, Choy Kho Yee wrote:
> > > > Hi, I am a student of Computer Science.
> > > > I am looking for a good IDE(integrated development environment?) for
> > > > developing C programs. Something like netbeans for Java would be good.
> > > > Since I am still learning, I will mainly develop with source codes.
> > >
> > > Emacs is perfectly fine for most of this.
> > Not to start a flame war on which is the better editor, but vim with
> > ctags is my way.
> Yeah, I know :-)
> I use both Emacs and vim, with reasonable levels of comfort. I haven't found
> a way to convince ctags that it's ok for a tag to appear multiple times (which
> can really be annoying when editing the sources of a kernel, where names are
> *bound* to appear multiple times), but I know what you mean.
Are you using exuberant ctags? I've had problems with various other ctags
programs choking before, but exuberant has usually worked instead. Now
I know that I had some programs with exuberant ctags with the linux kernel
before, but I think if exuberant knows all the defines then it should be
able to figure out which tag is correct by way of the c pre-processor.
By the way, my ide is vim+make+ctags, plus which several add-on vim
scripts, I get everything I need including tab completion with preview
as your typing the name, a list of functions, defines, global variables
on the side of the window and a script to control gdb from with-in vim;
what more could I ask for.
BTW, the reason I prefer, and recommend using some general editor like
vim vs. a full blown ide is convenience. I really like using vim as a
text editor and I hate having to learn new keys and everything else when
I need to change IDEs. I've had to use tde, dynamic c, and many other
IDEs which can't even agree on what key repeats a search. Most IDEs
support using and external editor and recognize when a file has changed
outside of the editor so using GVim on windoze or Vim on any unix
machine has proved much more convenient then any ide I've used.
> When I'm working remotely, on machines that I can't install Emacs, knowing how
> to do my work with vi/vim is extremely cool too.
> To the original poster. The UNIX way of working on large software projects, a
> lot of times, uses a different paradigm from the "all in one" philosophy of
> IDE environments that you might have gotten used to until now.
> There are two parts of working on a software project that are mostly important:
> - Source code browsing.
> - Building, linking and debugging.
> The first can be done remarkably well on UNIX, without the need for a special
> IDE, once you get used to making the best out of your editor and shell.
> A typical example of this is searching for the definition of a particular
> variable, function or macro in a large tree. Object browsers integrated with
> the commonly used IDEs help with that. The same can be done with a short grep
> command on UNIX. The need for complicated "search" dialogs that some IDEs
> have is non-existent here, in the UNIX world, because we don't need a special
> "integrated" environment to search our files ;-)
> If you use tools like ctags or etags, which John mentioned in the message I'm
> replying to, this can be done even faster. Moving from any file in the kernel
> tree of FreeBSD to the beginning of the ether_input() function that I
> mentioned above is as simple as hitting `ESC .' (that is ESC followed by a
> dot). The same can be done in vim with ^] (CTRL + closing bracket). The
> entire operation takes a few milliseconds. The same can be done for macros,
> variables, struct members, enums, typedefs, and a lot of other things.
> The building, linking and debugging of programs can also be done from within
> your editor; modern vi clones like vim and Emacs can compile any program, keep
> a log of the warnings and errors, show the compile output in a buffer, move
> from an error message to the correct line of source, etc.
> You don't *have* to use the editor/IDE to do that though, and this is even
> more comfortable at times.
> You mentioned that you're still learning, this is why I wrote this long post.
> Since you are learning, you might as well learn to work without the need for
> netbeans, eclipse, kdevelop or whatever :-)
> - Giorgos
> email@example.com mailing list
> To unsubscribe, send any mail to "firstname.lastname@example.org"
-- I sense much NT in you. NT leads to Bluescreen. Bluescreen leads to downtime. Downtime leads to suffering. NT is the path to the darkside. Powerful Unix is. Public Key: ftp://ftp.tallye.com/pub/lorenl_pubkey.asc Fingerprint: B3B9 D669 69C9 09EC 1BCD 835A FAF3 7A46 E4A3 280C
- application/pgp-signature attachment: stored