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 PROTECTED] mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "[EMAIL PROTECTED]" > > > !DSPAM:417af671155358827913156! > -- 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
pgpxLA5kAn60z.pgp
Description: PGP signature