Nice list, Reinier.

To be fair to emacs, I really like the marks and actually I even use
registers to mark stuff, a feature that probably most advanced emacs users
don't even know exist (\C-xma marks the current location with 'a', \C-xja
jumps there. You have access to 26 of these, obviously). These bindings are
not always enabled on recent emacsen so I usually add them myself in my
.emacs.

I'm also an avid user of macros to process text files with repeated actions
(\C-x(, \C-x) and \Cx-e to run it, very often many times with ESC 1000
\C-xe).

But as you point out, none of these extra facilities hold a candle to the
Java specific features that IDE's offer.

For example, the advanced mark system is pretty much obsoleted by Eclipse's
"select the next surrounding region" (Command-shift-up arrow, down to go
down). I use this all the time, it's just amazing. You start by putting the
cursor in an identifier, press this key, it select the identifier, press it
again, it selects the expression, press it again, it selects the enclosing
for loop, then the method, then the class.

Such "Java aware" selection will beat generic text selection any day.

-- 
Cédric


On Wed, Nov 24, 2010 at 10:48 PM, Reinier Zwitserloot <[email protected]>wrote:

> That's a logical fallacy, look up "Argumentum ad Populum" (a.k.a.
> "Appear to the People").
>
> I'm trying saying that IDEs *are* unneccessary (That'd be the logical
> fallacy known as "fallacy fallacy" if I did :P), just that the
> "100,000 people can't be wrong!" argument is obviously logically
> worthless.
>
> Here's a list of features that I use a lot in eclipse, would be very
> upset about if they stopped working and which, AFAIK, isn't available
> in vi or emacs. If I'm wrong, please correct me!
>
>  - I can cmd+click on any identifier or type and be taken to the place
> it was defined, even if this is in another source file, and even if
> this is in a library I'm using so long as I associated a source zip
> with the dependency (which I always do!)
>
>  - On any method or type ref I can hit cmd+T to see a hierarchy of it;
> i.e. I see other versions of that method in the type hierarchy, or if
> its a type, super and subclasses/interfaces/etc.
>
>  - With a key combo I can search for callers / writers / readers to a
> method / field.
>
>  - Many basic errors are caught by my IDE immediately, as I type. No
> need to even run a checkstyle or any such thing. I can fix it
> immediately. In fact, often such trivial errors can be fixed
> instantaneously because the IDE knows how. Example 1: I Write "List x
> = whatever;", and then immediately hit a key combo to import
> java.util.List. Example 2: I want to iterate over something but I
> forgot or am too lazy to type the element type. I just type "for
> (String foo : someIterable)", then CMD+1 to fix the type of 'foo'. I
> guess lombok makes this obsolete.
>
>  - auto-complete.
>
>  - AST-based rendering (render identifiers differently depending on
> whether they are static or not, a field or a method or a local or a
> param, final, etc).
>
>  - Hit a key combo to get a search box to find any type visible to my
> current project, even via camelcase if I want, i.e. "ArLi" will find
> me ArrayList ('opening' a type means opening an editor, possibly a
> read-only one if its a class in some library that I have the sources
> of).
>
>
> Being able to copy code around a bit more effectively seems like it
> can't hold a candle to those features. A few of the more advanced vi
> features are actually in IDEs if you know where to look. For example,
> eclipse has marker-based selecting which really is a pretty big deal
> (instead of holding shift to select stuff, you traverse to a point,
> hit 'set mark', traverse to some other point, and then perform copy or
> cut. This means you can navigate in a way that doesn't require holding
> shift. There's also as-you-type search, yank, clipboard buffers, block
> select, hop to matching brace, and if you're serious I believe there's
> a vi plugin that brings modal editing to the standard eclipse editor,
> though you'd have to check it out to be sure.
>
>
> On Nov 25, 6:32 am, Miroslav Pokorny <[email protected]>
> wrote:
> > So if ides are so unnecessary why then did they evolve from yesterdays
> text editor and why does the overwhelming majority of the planet use them ?
> They can't all be wrong or
> > Misguided ?
> >
> > On 25/11/2010, at 4:20 PM, Josh Berry <[email protected]> wrote:
> >
> >
> >
> >
> >
> >
> >
> > > 2010/11/24 Cédric Beust ♔ <[email protected]>:
> > >> It's not that simple: IDE's perform some basic cleanup that limits the
> > >> amount of noise that bad developers generate, such as cleaning up
> imports,
> > >> flagging unused variables, checking the style and formatting the code
> > >> correctly, etc...
> >
> > > What??  Even in environments where everyone is using an IDE, I have
> > > encountered people that do not constantly clean up imports and such.
> > > They leave used variables.  They don't format at all, or have a very
> > > unorthodox style.   This has nothing to do with the tool, as you can
> > > easily get all of those "warnings" in vim, as well  (again, a simple
> > > ":cope" (yes, yes, you could just keep ":cn"ing to the next message.)
> > > after running checkstyle will show all of the ones you just
> > > mentioned).  This is completely 100% the developer.  To claim
> > > otherwise is just a conceit.
> >
> > > --
> > > You received this message because you are subscribed to the Google
> Groups "The Java Posse" group.
> > > To post to this group, send email to [email protected].
> > > To unsubscribe from this group, send email to
> [email protected]<javaposse%[email protected]>
> .
> > > For more options, visit this group athttp://
> groups.google.com/group/javaposse?hl=en.
>
> --
> You received this message because you are subscribed to the Google Groups
> "The Java Posse" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<javaposse%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/javaposse?hl=en.
>
>


-- 
Cédric

-- 
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en.

Reply via email to