Which C Editor/IDE do you use?

R

Richard

There are programmers from all over in c.l.c

Which editor/ide do you prefer and why? Do you program cross platform?
Must your editor of choice be cross platform? I recently looked again at
Eclipse and while powerful its simply a dog.

So, any and all suggestions of what you use and why it benefits your
progress as a C programmer appreciated.

Things you might report on might be:

context API helps for glib,gtk etc etc,
tags navigation,
call trees,
flexible auto formatting,
refactoring,
cross platform status,
cost (if any),
documentation,
support and programmability,
RCS integration,
Build integration (make)
Debugger integration

but the bottom line is : you use it. Why?
 
K

kamils80

Richard said:
There are programmers from all over in c.l.c

Which editor/ide do you prefer and why? Do you program cross platform?
Must your editor of choice be cross platform? I recently looked again at
Eclipse and while powerful its simply a dog.

So, any and all suggestions of what you use and why it benefits your
progress as a C programmer appreciated.

Things you might report on might be:

context API helps for glib,gtk etc etc,
tags navigation,
call trees,
flexible auto formatting,
refactoring,
cross platform status,
cost (if any),
documentation,
support and programmability,
RCS integration,
Build integration (make)
Debugger integration

but the bottom line is : you use it. Why?

gnu emacs has all this and more.
 
R

Richard

gnu emacs has all this and more.

Could you publish your configuration for it? I tried it recently for C
and found it awful for things like call trees, refactoring, and context
help.

It was ok for RCS, debugging with gdb. But pretty rough.
 
R

Rich Webb

There are programmers from all over in c.l.c

Which editor/ide do you prefer and why?

vi, the One True Editor.
Do you program cross platform?

Once upon a time, I was working on Vax VMS, Amiga, Dos (pre-Windows),
and Unix, all with vi. Nowadays mostly Windows with occasional forays
into Linux Land.
Must your editor of choice be cross platform?

Yup. Finger memory.
I recently looked again at
Eclipse and while powerful its simply a dog.

So, any and all suggestions of what you use and why it benefits your
progress as a C programmer appreciated.

The "modern" incarnation of vi is gvim, which is fancied up with colors
and even *arrow keys* <shudder>. Real nice, though.
 
R

Richard

Rich Webb said:
vi, the One True Editor.


Once upon a time, I was working on Vax VMS, Amiga, Dos (pre-Windows),
and Unix, all with vi. Nowadays mostly Windows with occasional forays
into Linux Land.


Yup. Finger memory.


The "modern" incarnation of vi is gvim, which is fancied up with colors
and even *arrow keys* <shudder>. Real nice, though.

vi is ok, but pales compared to emacs. ok, its got a smaller footprint
and start up time but thats meaningless since you can run emacs as a
server.

But what features of vi aid you in C programming?
 
R

Rich Webb

vi is ok, but pales compared to emacs. ok, its got a smaller footprint
and start up time but thats meaningless since you can run emacs as a
server.

But what features of vi aid you in C programming?

C is pretty simple: search/search-replace, auto-indent, brace matching,
block mark/copy/insert, and c-tags. Shelling-out comes in handy. Color
syntax highlighting is very nice; thought it was kind of gaudy at first
but with my less than optimal typing skills, it comes in handy to make
#defime stand out.

Other than that, what else would be needed?

QV XKCD http://xkcd.com/378/
 
R

Richard

William Pursell said:
<OT>




Seriously? RCS is a little bit obsolete. Perhaps you
mean VCS as a generic term.

Actually I meant RCS as the generic .... a revision control system.
Possibly wrong. But always used to personally.
There's no way to respond to this without a flame war
erupting, but it is incorrect to say that vi is less
capable than emacs. Emacs is a great editor, and so
is vi. The fact that emacs can serve as an OS
hardly recommends it as an editor.

It's not an OS : it hosts a lot of things where "editing" is
required. This OS thing annoys me sometimes. e.g I send my emails and
usenet posts using it. Why? Because most of the time I am editing text ...
The primary features of vi that make it nice for
programming in C are good navigation bindings
(that don't require 5 appendages to enter) and
access to the full set of shell utilities from
within the editor (eg !!). The purpose of an
editor is to enable the user to edit a text file,
and vi's default command keys are highly optimized
for editing text that is C source code. (ie, it
is really easy to navigate in a source tree using
vi, with very few keystrokes)

Oh I see. You are unaware you can run vi as a sub system of emacs and
you dont like long key strokes. It seems you want the flame ware since
clearly you are a vi expert and dont like emacs :-;

It is easy to navigate in emacs too. Usually only people who haven't
tried it moan about "3 key strokes". You dont of course need so many in
99% of "basic" editing cases. The arrow and page keys work these days as
default!

(as an aside the ability to code, debug, document, revise, archive etc
from the same UI is great - most people dont have the patience to learn
the system so its not for people who are easily pleased with no metal to
learn new things)
Most modern shells are great IDEs.

OK... You want to play with the meaning of IDE...

A good IDE, Editor (like emacs / vi) would allow you to compile in the
editor so you can auto navigate to errors for example. Only someone
living in 1972 would compile in a shell now IMO :-; Also see notes about
context help (as an example) below.
It is tempting to use the newer, flashier graphical
tools, but in the end you will wind up wasting more
time when you discover that they don't give you
access to the tools you need, and you end
up back in the shell anyway.

Good IDEs just provide a front end to the usual toolsets
in my experience.
The difficult part of programming is design. Keying

I wasn't asking for lessons in design. I was hoping to keep it
specifically to the tools that help you as a C programmer. Help you to :
navigate code etc. In C.
in the program text is not the challenge. Expending
a lot of effort finding a tool that simplifies data
entry is a waste of time.

A programmer is amateur and inefficient if in Large projects you do not
use decent tools for code navigation and consistency generation. e.g
auto create headers, find locations of usage, refactoring etc. IMO of
course.

The plethora of smart editors also suggests you are talking
nonsense. Tools which aid the "keying in" are very important. Syntax
hiliting, autocompletions, context help etc. I think you need to
reassess what these tools can do. I know I would sooner hit f1 on a
function call and see its document there and then than have to switch
out of the editor and bring up man or somesuch. Hell, all good editors
give something like context help now. Who could see that as obstructive
in any way?

This apart from the fact, of course, that programming is not just
"keying things in".
Bottom line: there are a million different tools you
can use. Experiment with 5 or 6 of them, then pick
one and learn it well. And make sure the one you

Your advice is try them and judge them? I was asking for YOUR
experiences and how YOU use them and how you judged them to be honest.

Even I had figured out I could have tried them and seen for myself. I
was asking for advice on what YOU find good and why.
 
R

Richard

Rich Webb said:
C is pretty simple: search/search-replace, auto-indent, brace matching,
block mark/copy/insert, and c-tags. Shelling-out comes in handy. Color
syntax highlighting is very nice; thought it was kind of gaudy at first
but with my less than optimal typing skills, it comes in handy to make
#defime stand out.

Other than that, what else would be needed?

autocompletion, context help, compile error navigation, refactoring,
declaration navigation, usage navigation, call stack generation. I could
go on. file type modes e.g for editing makefile v resource file v code
file v headerfile v sql file etc.

Search/replace I hadn't mentioned since it was kind of assumed.
 
S

scholz.lothar

The difficult part of programming is design.  

No it is managing the complexity of large frameworks.
And there a good IDE with documentation processing,
unit tests, code insight tooltips/code completition etc.
helps you most.

Thats why modern IDE's are much better then vi and emacs.
 
R

Rich Webb

autocompletion, context help, compile error navigation, refactoring,
declaration navigation, usage navigation, call stack generation. I could
go on.

Well, each to their own. I've used IDEs where these things were
available and thought their usefulness was offset by their
intrusiveness. I never liked Clippy, either... ;-)
 
S

scholz.lothar

ideas, and editors based on hypertext.  If you compare his editors or even
the 1970's era Smalltalk class browser you can see that the current branch
of editors like Emacs and Vi are rather primitive in some ways.  

Well there is a reason why the Smalltalk browser is bad and the idea
never made it into others IDE. Looking at one method of a time
totally
sucks and is unproductive. With Smalltalk you just never had a chance
to
do something differently (work with files).
 
R

Richard

No it is managing the complexity of large frameworks.
And there a good IDE with documentation processing,
unit tests, code insight tooltips/code completition etc.
helps you most.

Thats why modern IDE's are much better then vi and emacs.

And why vi and emacs seem to be losing ground. A shame as I like emacs
personally but its code help features are lacking.
 
R

Richard

Rich Webb said:
Well, each to their own. I've used IDEs where these things were
available and thought their usefulness was offset by their
intrusiveness. I never liked Clippy, either... ;-)

Well, clippy was pretty much nothing to do with the things I listed
except a tenuous link, possibly, to context help.

Serious question : how can auto completion not help? How can declaration
navigation not help? How can single key context help for an API function
not help? How can compile error navigation not help?
 
A

Antoninus Twink

Serious question : how can auto completion not help? How can
declaration navigation not help? How can single key context help for
an API function not help? How can compile error navigation not help?

I don't know about emacs, but vim can do every single one of these...
 
R

Rich Webb

I don't know about emacs, but vim can do every single one of these...

I guess it comes down to something like Perl's motto "there is more than
one way to do it." Also a reminder to read the *complete* vim manual
more often than one every decade or so. Autocompletion! Who knew! :-O
 
I

Ian Collins

Richard said:
autocompletion, context help, compile error navigation, refactoring,
declaration navigation, usage navigation, call stack generation. I could
go on. file type modes e.g for editing makefile v resource file v code
file v headerfile v sql file etc.

The others have been covered, Xrefactory
(http://www.xref.sk/xrefactory/main.html) is a decent C refactoring add
on for (x)emacs.
 
J

John Bode

There are programmers from all over in c.l.c

Which editor/ide do you prefer and why? Do you program cross platform?
Must your editor of choice be cross platform? I recently looked again at
Eclipse and while powerful its simply a dog.

I don't have a preferred development environment as such. Bode's
First Law of Programming Languages also applies to editors/IDEs: they
all suck.

When I was doing serious cross-platform work, I'd use the editor
native to the platform I had on my desk at the time (vi if I was
working from a Unix workstation, VS if from Windows, MPW (now XCode)
if from a Mac, etc.). I've never bothered to learn more than the
basics for any editor/IDE because I changed jobs/platforms so often.

Right now I'm using VS to edit files hosted on a Red Hat VM, simply
because it's a little faster than using vi.

I've learned to like Eclipse when writing Java, but for writing C it
just feels wrong. I've never had the patience to learn emacs.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,186
Members
46,739
Latest member
Clint8040

Latest Threads

Top