Skip site navigation (1)Skip section navigation (2)
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>