IDE vs. editor

Hello all,

I have always watched people comare using IDE’s over straight text editing and
they end up only ever comparing the editing ability of IDEs. I guess that is
because that is about as much as the two have in common. What I think people
avoid discussing is how much benefit a decent IDE can provide. I’m talking
about things like:

    • built in debugger
    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in source control
    • built in refactorings - even simple things like rename method and having
      that propagated throughout your code base is a huge help IMHO.

I find through using some sort of class browser it also helps me keep a better
view of the overall object model because navigating within hierarchies is
just easier (assuming you do one class per file).

Sure I love the editing power of ViM, but I find that the productivity I can
get out of using a decent IDE like eclipse or IDEA outweighs the power of the
editor. Now if someone could just write ViM bindings for eclipse I’d be
pretty happy :slight_smile:

What do you guys think? I don’t want this to be an editors suck, or IDEs suck
debate - rather, I’m curious how people that have used both IDEs and straight
text editors decided on one or the other. What where the show stoppers?

I’ve listed what I think the showstoppers are for me above. I like it all in
one tool so I can spend more time solving the problem and keeping my flow
well ummm…flowing :slight_smile:


Signed,
Holden Glova

What I think people
avoid discussing is how much benefit a decent IDE can provide. I’m talking
about things like:

    • built in debugger

Most of the features are either have or have not. Nothing much to dicuss. I
you don’t have it there is no argument, if you do have it you won’t give it
up. It’s not like you are spoiled for choice when it comes down to IDE’s
that sports the features you mention.

Integrated debugger, source control and automated makefile management (where
applicable) is great. Yet I sometimes simply sit with multiple instances of
the Scite editor because it is superleightweight, it can execute makefiles
and does jump to the line of error. When the IDE is with you it is great,
but sometimes it is not - especially when working with multiple programming
language makefiles and unit testing that is not supported by the IDE. Also
the IDE eats memory, mismanages screen real-estate and makes it difficult to
do simple things such as creating a new file (3 layers of wizard: do you
want a HTML file yes / no? no. Do you want a C++ file yes / no…).

I really appreciate IDE’s they have just grown so much and simpler
alternatives have gotten the most frequently used features.

So there is a time and a place for everything.

What do you guys think? I don’t want this to be an editors suck, or IDEs
suck
debate - rather, I’m curious how people that have used both IDEs and
straight
text editors decided on one or the other. What where the show stoppers?

If it wasn’t for Scite, you’d not finding me hacking around in some complex
editor where I would have to remember a lot of codes. Vim is not too bad.
Although I do not do much Linux currently I find it important that the
editor I do use supports both platforms, otherwise you are completely
handicapped when you occasionally uses the other platform.

I have always watched people comare using IDE’s over
straight text editing and they end up only ever comparing
the editing ability of IDEs. I guess that is because that
is about as much as the two have in common. What I think
people avoid discussing is how much benefit a decent IDE
can provide.

Wow … you are entering territory where angels fear to tread …

But I’ll jump right in :slight_smile: For background … I am a “give me Emacs or
give me death” type of developer, who despite all expectations,
started using Eclipse recently (for Java code). So perhaps I have
some perspective (more likely I just have a warped viewpoint).

> I'm talking about things like:

> built in debugger
> built in unit testing which lets you jump to the failed line when a test 
> fails
> built in source control
> built in refactorings - even simple things like rename method and having 
> that propagated throughout your code base is a _huge_ help IMHO.

Ummmm … Emacs can do all of those things (except refactoring, and
few IDEs are doing refactorings yet … I expect that will change in
the future).

> I find through using some sort of class browser it also
> helps me keep a better view of the overall object model
> because navigating within hierarchies is just easier
> (assuming you do one class per file).

Agreed. Emacs does have a class browser (OOBrowser), but I have never
found it to be that useful. On the other hand, I love the JavaBrowse
view in Eclipse.

> Sure I love the editing power of ViM, but I find that the
> productivity I can get out of using a decent IDE like
> eclipse or IDEA outweighs the power of the editor. Now if
> someone could just write ViM bindings for eclipse I'd be
> pretty happy :)

Even with Eclipse, there are times when I need the power of the
command line. For many things, it is still faster than the IDE
version.

But there are things I would rather do in the IDE. Renaming classes,
or even moving classes from one package to another is a breeze in
Eclipse. The “organize imports” feature is slightly better than what
I use in Emacs.

> [...] I'm curious how people that have used both IDEs and
> straight text editors decided on one or the other. What
> where the show stoppers?

Currently I’m living in both worlds and feel little need to switch.
For straight code writing, emacs (for me) provides a smooth platform
writing code with little that gets in the way. Eclipse is great for
Java-specific power edits and refactoring. Currently my source code
lives on the Unix development box at work and I run emacs on the unix
box. I also keep Eclipse open on my PC and can jump between the two
environments with a keystroke.

I’ve rambled on enough about Java specific things. On to Ruby topics

Currently the Ruby plug-in for eclipse provides the bare minimum
editing functionality. I haven’t explored it fully, but it is not up
to speed with the Java offering. To make Ruby development in eclipse
more attractive, I believe you need (in rough order of priority) …

o Class Browser
o Code formatter/indenter
o Refactorings

I haven’t tried any of the pure Ruby IDEs yet. I’ve only used Eclipse
because of the Java support. I would really like to see a pure Ruby
IDE really take off, but in addition, good support for Ruby in Eclipse
will help penetrate the Java-shops where Eclipse is already in use.

Just my few cents with a lot of ramblings.

···


– Jim Weirich jweirich@one.net http://w3.one.net/~jweirich

“Beware of bugs in the above code; I have only proved it correct,
not tried it.” – Donald Knuth (in a memo to Peter van Emde Boas)

Hello all,

I have always watched people comare using IDE’s over straight text editing
and
they end up only ever comparing the editing ability of IDEs. I guess that is
because that is about as much as the two have in common. What I think people
avoid discussing is how much benefit a decent IDE can provide. I’m talking
about things like:

    • built in debugger
    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in source control
    • built in refactorings - even simple things like rename method and having
      that propagated throughout your code base is a huge help IMHO.

Similar to Jim, I was a Vim freak who streamlined the editor to do heaps of
stuff to help me with Java coding. Someone put IDEA under my nose and I hardly
looked back. Refactorings, CVS & Ant * JUnit integration, super intelligent
coding support, instant context-sensitive JavaDoc, code reformatting etc. were
all just too good to be true. And when I needed raw coding power, opens
Vim at the current line in the current file. But due to the super-power of
IDEA, I rarely needed that.

Now, with Ruby, Vim is all I need. This is largely due to the design of the
language. Java is so obtuse and verbose that IDEA is a necessary crutch. Ruby
is so terse and well-designed that such a level of support is unnecessary. I’d
like a class browser, but wouldn’t mind running that separately. Vim handles
errors and all that well.

My needs may change, however. At the moment I am not engaged in any Ruby
projects of significant size, so most of the necessary information fits in my
head. An IDE for Ruby that I would love to see would actually be a Ruby
program running in Vim. This was you don’t need to implement an editor. If
the ruby interpreter can expose a low-level parse of the program, surely some
intelligent IDE help can be provided.

I find through using some sort of class browser it also helps me keep a
better
view of the overall object model because navigating within hierarchies is
just easier (assuming you do one class per file).

Sure I love the editing power of ViM, but I find that the productivity I can
get out of using a decent IDE like eclipse or IDEA outweighs the power of the
editor. Now if someone could just write ViM bindings for eclipse I’d be
pretty happy :slight_smile:

What do you guys think? I don’t want this to be an editors suck, or IDEs suck
debate - rather, I’m curious how people that have used both IDEs and straight
text editors decided on one or the other. What where the show stoppers?

I’ve listed what I think the showstoppers are for me above. I like it all in
one tool so I can spend more time solving the problem and keeping my flow
well ummm…flowing :slight_smile:

Holden Glova

Gavin

···

----- Original Message -----
From: “Holden Glova” dsafari@paradise.net.nz

well, i’ve done a some VB work in the past and so truly appretiate a
good IDE, not to mention RAD. but thank god those days are over! VB? no
thanks! but for my ruby work, running on linux, i don’t know of any good
options. are there? currently i use scite, though sometimes i use vim.
i’m not to big on vim’s modes, and having come from the dos/windows
world (after amiga passed away), i have really come to like ctrl-z thru
ctrl-v, and a few other, shortcuts. but if vim were to become a corner
stone of a good ruby ide, i’d make the full switch.

freeride is a ruby ide i’m keeping my eye on and i beleive the intention
there is to use scite.

also i wonder if anyone is interested in making a wrapper for ddd. i
just discovered ddd recently and it looks to be a very cool debugger.

···

On Fri, 2002-08-16 at 17:49, Holden Glova wrote:

What do you guys think? I don’t want this to be an editors suck, or IDEs suck
debate - rather, I’m curious how people that have used both IDEs and straight
text editors decided on one or the other. What where the show stoppers?

I’ve listed what I think the showstoppers are for me above. I like it all in
one tool so I can spend more time solving the problem and keeping my flow
well ummm…flowing :slight_smile:


~transami

In article 200208171145.23023.dsafari@paradise.net.nz,

Hello all,

I have always watched people comare using IDE’s over straight text editing and
they end up only ever comparing the editing ability of IDEs. I guess that is
because that is about as much as the two have in common. What I think people
avoid discussing is how much benefit a decent IDE can provide. I’m talking
about things like:

    • built in debugger
    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in source control
    • built in refactorings - even simple things like rename method and having
      that propagated throughout your code base is a huge help IMHO.

I find through using some sort of class browser it also helps me keep a better
view of the overall object model because navigating within hierarchies is
just easier (assuming you do one class per file).

Sure I love the editing power of ViM, but I find that the productivity I can
get out of using a decent IDE like eclipse or IDEA outweighs the power of the
editor. Now if someone could just write ViM bindings for eclipse I’d be
pretty happy :slight_smile:

    • I can do all this in Emacs and have a powerful editor. Is it
      easy and simple and out of the box? Well, for C lang
      programming it pretty much is. It’s a bit harder for Ruby,
      but it’s all possible.
    • I suspect you can do the same with a sufficently powerful
      version of VIM. I think the key thing for me is that the
      tool has to be scriptable. Ultimately you will run into
      a place where the IDE or editor just doesn’t do the
      "right" thing. With most IDE’s you’re stuck then, you’re
      stuck then with a lot of editors. IMHO, there’s something
      wrong when a programmer is using a tool that isn’t
      programable.
    • I think the big problem with most IDE’s is that the designers
      get confused and actually just build a specialized editor.
      Any IDE worth the name should allow the editor to be a
      pluggable tool. The fact that you are asking this question
      implies to me that the tool you’re using is broken. It
      shouldn’t be an either/or choice, environments with both
      have been around for twenty years.
    • Booker C. Bense
···

Holden Glova dsafari@paradise.net.nz wrote:

Does anybody know modes that bring these two in Emacs?

Massimiliano

···

On Sat, Aug 17, 2002 at 08:49:47AM +0900, Holden Glova wrote:

    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in refactorings - even simple things like rename method and having
      that propagated throughout your code base is a huge help IMHO.

I too have been following FreeRIDE - this week I stumbled upon some
screenshots. One of them shows the beginnings of the debugger in action -
looks nice. Great work FreeRIDE team!

http://www.moldus.org/~laurent/FreeRIDE/screenshots/


Signed,
Holden Glova

···

On Sat, 17 Aug 2002 20:55, Tom Sawyer wrote:

freeride is a ruby ide i’m keeping my eye on and i beleive the intention
there is to use scite.

also i wonder if anyone is interested in making a wrapper for ddd. i
just discovered ddd recently and it looks to be a very cool debugger.

    • I can do all this in Emacs and have a powerful editor. Is it
      easy and simple and out of the box? Well, for C lang
      programming it pretty much is. It’s a bit harder for Ruby,
      but it’s all possible.
    • I suspect you can do the same with a sufficently powerful
      version of VIM. I think the key thing for me is that the
      tool has to be scriptable. Ultimately you will run into
      a place where the IDE or editor just doesn’t do the
      "right" thing. With most IDE’s you’re stuck then, you’re
      stuck then with a lot of editors. IMHO, there’s something
      wrong when a programmer is using a tool that isn’t
      programable.

The other thing is that it’s nice to have a low entry overhead to
add scripts. Visual C++ can add in programmable components, but you
have to spend significant time learning how to get all the misc
glue code working. Emacs is a little easier (but more intimidating)
in that respect.

···

On Sat, Aug 17, 2002 at 11:58:36PM +0900, bbense+comp.lang.ruby.Aug.17.02@telemark.stanford.edu wrote:

    • I think the big problem with most IDE’s is that the designers
      get confused and actually just build a specialized editor.
      Any IDE worth the name should allow the editor to be a
      pluggable tool. The fact that you are asking this question
      implies to me that the tool you’re using is broken. It
      shouldn’t be an either/or choice, environments with both
      have been around for twenty years.
    • Booker C. Bense


Alan Chen
Digikata LLC

It is impossible to offer a lot of facilities when using an external
editor. Code Navigation tree (or call it function list) and debugger
integration and tooltips (and even refactoring) are not pluggable in a
generic way.

If you want to provide it for a few editors then you
will see that this is economically impossible. There are two many out
there. And the community of hard core vi or emacs persons is to
small. Everyone else is willing to use another editor.

The problem is IMHO that most integrated editors are less powerful.
I need the windows handling from Emacs and the simple way of
macro defining and specificing a prefix count for play back.

···

On 17 Aug 2002 14:47:35 GMT, bbense+comp.lang.ruby.Aug.17.02@telemark.stanford.edu wrote:

    • I think the big problem with most IDE’s is that the designers
      get confused and actually just build a specialized editor.
      Any IDE worth the name should allow the editor to be a
      pluggable tool. The fact that you are asking this question

How do you run tests and then jump to offending lines? I use to run
tests with just a keypress by writing them in the same file they test
within a if FILE == $0 … end block and then eval’ing the buffer,
but I get another buffer with Test::Unit results as plain program
output, not anything that Emacs parses go get anchors.

Massimiliano

···

On Sat, Aug 17, 2002 at 10:49:20AM +0900, Jim Weirich wrote:

> built in source control
> built in refactorings - even simple things like rename method and having 
> that propagated throughout your code base is a _huge_ help IMHO.

Ummmm … Emacs can do all of those things (except refactoring, and

Same questions to you: how do you have a method’s renaming propagate,
and how do you have the cursor jump to the line of a failed test?

Massimiliano

···

On Sat, Aug 17, 2002 at 11:58:36PM +0900, bbense+comp.lang.ruby.Aug.17.02@telemark.stanford.edu wrote:

    • built in debugger
    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in source control
    • built in refactorings - even simple things like rename method and having
    • I can do all this in Emacs and have a powerful editor. Is it
      easy and simple and out of the box? Well, for C lang
      programming it pretty much is. It’s a bit harder for Ruby,
      but it’s all possible.

“Holden Glova” dsafari@paradise.net.nz wrote in message
news:200208172244.26638.dsafari@paradise.net.nz

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I too have been following FreeRIDE - this week I stumbled upon some
screenshots. One of them shows the beginnings of the debugger in action -
looks nice. Great work FreeRIDE team!

http://www.moldus.org/~laurent/FreeRIDE/screenshots/

Yes it looks good.

BTW: what about Web based IDE’s. Recently some Web sites almost look as
desktop applications and are almost competive with some cross GUI tools -
for example the new beta version of Yahoo mail.

It does require a fast server and a fast internet connection. The bulk of
the IDE could be server based and editors could use a socket protocol to
interact with the server separately. Some Wiki’s support integration with
text editors for example.

RDoc already has many features of a would be Web based IDE - click on a file
get the source open in your favorite editor. Save the changes to your
private online workspace. Merge to development branch whenever it suits you.
Now you can continue development anywhere your favorite editor is
installed - or even in a substand webform if need be.

Mikkel

I’ve been running my unit tests from a makefile, which triggers
the output to be a compilation buffer which does jump to lines.

The only wrinkle is that Test::Unit inserts leading whitespace
into the line numbers. My hackish solution was to pipe the
standard error through a filter to remove leading whitespace.

makefile

RBTE= ruby -e “while( (line=gets())!=nil); puts line.strip; end”

test :
ruby -w tc_unittest.rb 2>&1 | $(RBTE)

end of makefile

It doesn’t trap all lines, but I’ve been meaning to make it a full blown filter
which recognizes some of occasional backtraces which have lines starting
with:
from file.rb:line:

···

On Sun, Aug 18, 2002 at 03:45:00AM +0900, Massimiliano Mirra wrote:

On Sat, Aug 17, 2002 at 10:49:20AM +0900, Jim Weirich wrote:

> built in source control
> built in refactorings - even simple things like rename method and having 
> that propagated throughout your code base is a _huge_ help IMHO.

Ummmm … Emacs can do all of those things (except refactoring, and

How do you run tests and then jump to offending lines? I use to run
tests with just a keypress by writing them in the same file they test
within a if FILE == $0 … end block and then eval’ing the buffer,
but I get another buffer with Test::Unit results as plain program
output, not anything that Emacs parses go get anchors.

Massimiliano


Alan Chen
Digikata LLC

I haven’t tried this, but some combination of a regex (and or having
your unit test spit out assertions, failures and errors using a
format emacs’ compile command already understands) and a specific
command to M-x compile would probably do it.

···

— Massimiliano Mirra list@NOSPAMchromatic-harp.com wrote:

On Sat, Aug 17, 2002 at 10:49:20AM +0900, Jim Weirich wrote:

> built in source control
> built in refactorings - even simple things like

rename method and having

> that propagated throughout your code base is a _huge_

help IMHO.

Ummmm … Emacs can do all of those things (except refactoring,
and

How do you run tests and then jump to offending lines

=====

Use your computer to help find a cure for cancer: http://members.ud.com/projects/cancer/

Yahoo IM: michael_s_campbell


Do You Yahoo!?
HotJobs - Search Thousands of New Jobs
http://www.hotjobs.com

What planet do you live on? :slight_smile:

Massimiliano

···

On Sun, Aug 18, 2002 at 01:38:43AM +0900, Lothar Scholz wrote:

And the community of hard core vi or emacs persons is to small.

Method renaming: M-x query-replace
Jump to line: M-x goto-line

The feature I most miss from using Visual Basic IDE (lousy day jobs grin)
is not the ability of the code to jump to errors, but the autocompletion
and hints for methods and arguments. There are lots of time I’m coding in
Ruby I’ve got three windows open. One shell, one irb, and one emacs. I use
shell to test, emacs to code, and irb to run quick tests of built-ins,
often ending in “p instance.methods.sort”. Pop-up hints would get rid of
that.

-michael

···

On Saturday 17 August 2002 16:49, Massimiliano Mirra wrote:

On Sat, Aug 17, 2002 at 11:58:36PM +0900, bbense+comp.lang.ruby.Aug.17.02@telemark.stanford.edu wrote:

    • built in debugger
    • built in unit testing which lets you jump to the failed line when
      a test fails
    • built in source control
    • built in refactorings - even simple things like rename method and
      having
    • I can do all this in Emacs and have a powerful editor. Is it
      easy and simple and out of the box? Well, for C lang
      programming it pretty much is. It’s a bit harder for Ruby,
      but it’s all possible.

Same questions to you: how do you have a method’s renaming propagate,
and how do you have the cursor jump to the line of a failed tes

++++++++++++++++++++++++++++++++++++++++++
Michael C. Libby x@ichimunki.com
public key: http://www.ichimunki.com/public_key.txt
web site: http://www.ichimunki.com
++++++++++++++++++++++++++++++++++++++++++

In article 20020817192215.GB3299@prism.localnet,

    • built in debugger
    • built in unit testing which lets you jump to the failed line when a test
      fails
    • built in source control
    • built in refactorings - even simple things like rename method and having
    • I can do all this in Emacs and have a powerful editor. Is it
      easy and simple and out of the box? Well, for C lang
      programming it pretty much is. It’s a bit harder for Ruby,
      but it’s all possible.

Same questions to you: how do you have a method’s renaming propagate,

    • You need a ruby version of etags. Then it’s just a simple
      matter of using tags-query-replace. The hard bit is a ruby
      version of etags. I said it was possible, not that I knew
      exactly how to do it %-)!

and how do you have the cursor jump to the line of a failed test?

M-x compile and next-error.

    • Booker C. Bense
···

Massimiliano Mirra list@NOSPAMchromatic-harp.com wrote:

On Sat, Aug 17, 2002 at 11:58:36PM +0900, bbense+comp.lang.ruby.Aug.17.02@telemark.stanford.edu wrote:

Earth.

But to be more precise: The community of persons who are buying and
evaluating IDE’s. Even in companies with as low as 5 programmers that
are normally not the geeks that what to use the editor.

I analysed this with the economic aspect in mind. And this will be
hard to deny.

···

On Sat, 17 Aug 2002 21:50:12 GMT, Massimiliano Mirra list@NOSPAMchromatic-harp.com wrote:

On Sun, Aug 18, 2002 at 01:38:43AM +0900, Lothar Scholz wrote:

And the community of hard core vi or emacs persons is to small.

What planet do you live on? :slight_smile:

    • built in unit testing which lets you jump to the failed line when
      a test fails
    • built in refactorings - even simple things like rename method and
    • I can do all this in Emacs and have a powerful editor. Is it
      Same questions to you: how do you have a method’s renaming propagate,
      and how do you have the cursor jump to the line of a failed tes
      Method renaming: M-x query-replace

I did not ask how do you search and replace in emacs. I asked how do
you have a method’s renaming propagate, which you said can be done.

Jump to line: M-x goto-line

Again, I did not ask how you jump to a line, I asked how do you jump
to the line of a failed test, which you said can be done.

Massimiliano

···

On Sun, Aug 18, 2002 at 08:51:40AM +0900, michael libby wrote: