Date: Tue, 26 Oct 2004 00:04:54 -0700 From: "Loren M. Lang" <lorenl@alzatex.com> To: Giorgos Keramidas <keramida@ceid.upatras.gr> Cc: questions@freebsd.org Subject: Re: A good IDE for C development? Message-ID: <20041026070454.GD6513@alzatex.com> In-Reply-To: <20041023214555.GA4233@gothmog.gr> References: <42734323-2522-11D9-8790-000A95BE58A4@tf7.so-net.ne.jp> <20041023193924.GA52933@gothmog.gr> <ba2001e504102313521b515350@mail.gmail.com> <20041023214555.GA4233@gothmog.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
--DrWhICOqskFTAXiy Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 go= od. > > > > 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. >=20 > Yeah, I know :-) >=20 > I use both Emacs and vim, with reasonable levels of comfort. I haven't f= ound > 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. >=20 > When I'm working remotely, on machines that I can't install Emacs, knowin= g how > to do my work with vi/vim is extremely cool too. >=20 > To the original poster. The UNIX way of working on large software projec= ts, 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. >=20 > There are two parts of working on a software project that are mostly impo= rtant: >=20 > - Source code browsing. > - Building, linking and debugging. >=20 > The first can be done remarkably well on UNIX, without the need for a spe= cial > 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 spe= cial > "integrated" environment to search our files ;-) >=20 > 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 k= ernel > 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 macr= os, > variables, struct members, enums, typedefs, and a lot of other things. >=20 > The building, linking and debugging of programs can also be done from wit= hin > 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, mo= ve > from an error message to the correct line of source, etc. >=20 > You don't *have* to use the editor/IDE to do that though, and this is even > more comfortable at times. >=20 > You mentioned that you're still learning, this is why I wrote this long p= ost. > Since you are learning, you might as well learn to work without the need = for > netbeans, eclipse, kdevelop or whatever :-) >=20 > - Giorgos >=20 > _______________________________________________ > freebsd-questions@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-questions > To unsubscribe, send any mail to "freebsd-questions-unsubscribe@freebsd.o= rg" >=20 >=20 > !DSPAM:417af671155358827913156! >=20 --=20 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 =20 --DrWhICOqskFTAXiy Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.1 (GNU/Linux) iD8DBQFBffcW+vN6RuSjKAwRAghQAJsE2UNl0zkYg5CF4PtpoS0we54IXQCeMi9/ 6WWDlMbqZqpcQq/Q1l4sD/Q= =f5bP -----END PGP SIGNATURE----- --DrWhICOqskFTAXiy--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041026070454.GD6513>