

The Great IDE vs Text Editor Debate - dsego
http://blog.bittersweetryan.com/2012/02/great-ide-vs-text-editor-debate-why-i.html

======
coldtea
I don't think there's a debate per se.

IDE's (as a notion) are better than editors, and everyone would agree to that
if IDE's (as an implementation) weren't worse than editors.

I mean, if we could have an IDE with:

1) Fast, and I mean FAST, startup times and response.

2) No much visual clutter when you don't want it (unlike Eclipse/XCode/Idea/VS
etc tons of toolbars and such)

3) A great editor pane, on the level of Vim/Emacs for editing code.

While retaining all other IDE features (debugging integrated, refactoring,
intelligent auto completion, building system, REPL, etc)

then everybody would like it.

Except for the total barebones kind of guys, people don't have IDEs in that
they hate an IDEs feature set. They hate IDE in that they hate current IDE
implementation.

As proof, consider that people using Emacs/Vim/ST/TE also adds tons of plugins
and settings and stuff to them to add them IDE like capabilities (project
handling, tree views, debugging, AST-auto-completion, etc).

~~~
Drakim
But there will never be an IDE like that. It's like saying that trucks are
always better than cars, provided that the truck uses less gas, fits better
into small spaces, and is easier to control.

Text editors win over IDEs because outside of theory you never get an IDE like
that, they are always slower, always full of clutter.

I've seen some people promote certain lightweight IDEs as being just as handy
as text editors, but it's simply not true. Their startup time is simply
measured in several seconds seconds rather than several minutes, but it's
never instant like my text editor. They have a minimalistic interface, but
it's usually a lot of stuff crammed into very small menus, nothing like the
text editors where I can intuitively find everything (because the text editor
doesn't overreach in functionality, it's just a text editor).

~~~
coldtea
> _But there will never be an IDE like that._

Nothing at all technically or theoretically prevents it.

> _t's like saying that trucks are always better than cars, provided that the
> truck uses less gas, fits better into small spaces, and is easier to
> control._

Except those contrains only apply to physical objects such as cars.

With code, you can achieve all of the requirements I described. Not because
there are no compromises to be made when programming -- but because none of
those compromises comes into play in this situation.

You CAN have an IDE that opens fast.

You CAN have an IDE with a great editor pane (embedded Vim for example).

None of those are infeasible or necessary tradeoffs.

> _I've seen some people promote certain lightweight IDEs as being just as
> handy as text editors, but it's simply not true. Their startup time is
> simply measured in several seconds seconds rather than several minutes, but
> it's never instant like my text editor. They have a minimalistic interface,
> but it's usually a lot of stuff crammed into very small menus, nothing like
> the text editors where I can intuitively find everything (because the text
> editor doesn't overreach in functionality, it's just a text editor)._

None of those are necessary characteristics of an IDE. The fact that you say
"usually" admits to that.

As an example: something like Sublime Text 3 can load in split seconds.

The basic things it lacks to be a full IDE (refactoring support, embedded
debugger, etc) are things that can be loaded on demand, so if they were added
to it, startup time wouldn't be affected at all.

And it could still have a minimalistic interface even with those. Why?

Because, for one, nothing necessitates all panes being open at all times. E.g
When you run the debugger you can see the debugger toolbar -- when editing,
you don't. Etc.

As for your "Their startup time is simply measured in several seconds seconds
rather than several minutes, but it's never instant like my text editor".

1) As I said, something like ST3 opens instantly.

2) Even if it takes seconds, who cares? You open your editor once and you
work.

It's not like you reopen it all the time. If you do open it, e.g because you
want an editor for sysadmin, terminal work, sure, use something else.

------
jussij
The two things IDEs do well are debugging and code refactoring.

To help implement these types of features the IDE embeds a version of the
language inside of itself.

The problem with this is you then need a new IDE for each new language.

Because a good programmer's editor will try to be language neutral it does not
have that luxury.

But as a bonus, because the editor is not carrying around all that extra
_language_ baggage the editor will always be faster than the IDE.

~~~
coldtea
> _The problem with this is you then need a new IDE for each new language._

Well, it would be nice if we had some "IDE framework" to take care of all the
barebones stuff (editor pane, basic UI, loading files, encoding, high level
abstract support for highlighting, refactoring, embedding a terminal, etc) and
people could hook it into their language to make an IDE for it.

And it would have to be written in C, to not usable from all languages with a
C ABI/FFI, and not be dog slow like Eclipse.

~~~
dsego
How about protocols? E.g. there is a server for Javascript auto-complete
running in the background. The editor has a plugin for the protocol and just
sends a request for a list of completion options.

~~~
jussij
The gocode autocomplete uses this approach and it works very well.

------
boksiora
Sublime text - best editor ever. I am using it right now

