
Eclipse committer on Android IDE switch to IntelliJ - marpalmin
https://twitter.com/guw/status/334793907625938944
======
mindcrime
The "workspaces" feature is at least partly broken, and there are bugs open
which have been open for years, if not decades, suggesting or asking for
improvements. But despite the weight of evidence that people want this
improved, the Eclipse developers are generally more interested in adding the
latest "gee whiz" features than dealing with "bread and butter" issues.

And, sadly, the UX aspect isn't even the biggest problem with Eclipse (all
"IMO" of course). Performance, especially memory usage is a huge issue
(especially on 64 bit systems) and the updater/plugin mechanism is too damn
unreliable. If you use more than 2 or 3 plugins, it's almost inevitable that
you will, at some point, try to update something and get the infamous "could
not complete operation" message when adding a new plugin, or updating an
existing one. Now, that's not really the problem... the problem is that
eclipse just vomits a page and a half of error messages and opaque version
numbers and strings at you, when this happens... instead of giving useful help
on how to resolve the situation.

All of that said, I still use (and, in many ways _like_ ) Eclipse, but it is
very frustrating to see these same problems drag on for years and years.

~~~
maxandersen
About updater/plugin mechanism in eclipse I just want to point out that is
actually being fixed/improved greatly in upcoming Eclipse 4.3 (Kepler).

Eclipse update mechanism (called p2) actually at is core is very powerful and
can actually find out/remedy the installation/update but it was just never
exposed in the UI used by Eclipse IDE's.

Simply explained before Kepler p2 would just try and do exactly what you told
it to "install these 2 plugins" and if its dependencies somehow conflicted it
would give up ("could not complete operation").

In Kepler if this situation occurs p2 will try remedy the situation and try
find out which plugins would need to be updated or maybe even downgraded to
make it possible for you to install your plugins.

Thus we are some that actually care and do what we can to improve it - this
feature got in with help from @prapicault

And for full disclosure i'm @maxandersen from the conversation OP linked to
and lead of JBoss Developer Studio.

~~~
smrtinsert
Kepler is also on track to fix the rest of the 4x perf bugs right? I dled M7
yesterday and noticed it still flashes full screen on Win764 when I move view
groups around in a perspective.

I still love eclipse. I'm not ashamed to admit it. I've helped people sell
businesses and go public with this damn platform creating millions in revenue
along the way. When it's powering my livelihood and my employers happiness, I
feel like something went right somewhere.

It's a shame the UX in 4.2 has been such a thing to focus on.

------
paperwork
I'm an eclipse user and love it. I don't understand why so many people hate
it. However, I keep hearing, from very respectable developers, that intellij
is a far better IDE. Even as I type this, I have an eclipse window open for
main development and an intellij window open with some test code so I can get
used to it, and see what the hype is about.

One thing is for sure, intellij (the dark theme) looks beautiful. Makes me
wonder if eclipse should still be spending (wasting?) resources developing
their own GUI toolkit.

~~~
shawabawa3
My main problems with eclipse:

1\. Startup time. I just ran it twice on my machine. First time it took
20seconds before showing the splash, then 10 seconds after that (I'd never
launched it before). Second time it took over 5 seconds to launch completely

2\. Cluttered UI. menu bar + status bar + project explorer + tasks + outline
take up between 20 and 70% of the window depending on how big I have the
window (god help me if i try to use it on my old laptop with its 1300x700
resolution)

3\. Difficulty of editing stand alone files. It's just a pain in the arse
editing files that aren't in the project, and that you don't want to be in the
project

For comparison, sublime text 2 launches in <1second on the same machine, and
that includes restoring 100% of the previous working state, including unsaved
changes to all files, even if the computer crashed and it wasn't closed down
properly.

edit: I almost forgot

4\. It also takes 1-5seconds to __close __.

~~~
paperwork
If you've used both, wouldn't you consider Eclipse and sublime text to be two
very different tools? If you want to quickly edit some text, then Eclipse is
overkil. If you are going to write programs for 8 hours a day, then Eclipse's
benefits far out weigh its problems.

To me, it is the difference between a car and a bike. The two serve different
purposes.

I don't mean to downplay problems with Eclipse. I remember that it was
confusing when I first started using it. In the intervening years, I think the
problem with eclipse is one of missed opportunities (or misplaced priorities).

~~~
liquidise
This is a boat i bought into only in college. Once my professional career
started, and i started viewing coding as an artisan craft, i realized that
less tends to be more. I want an editor that i _never_ have to wait for. Every
IDE i have tried has time where i pause waiting for it to try and do
something.

Give me column editing, multiple cursors, and snippets and i will show you an
editor i can code a system of any real size with.

~~~
philbarr
"column editing, multiple cursors, and snippets"

It's more about smart refactoring, code completion, extensibility, project
management, "open type hierarchy", "show usages", etc. You kind of need these
things in big projects. Especially enterprise Java ones.

"Of any real size" - I dispute you've written one that counts.

~~~
liquidise
Size in terms of software (and data) is always a perspective thing to be sure.
I have worked on 2 separate millions of LoC codebases. Maybe its my ignorance,
but i think there is more difference between a 10k Loc vs a 2mm Loc than 2mm
vs 20mm.

I might be wrong, I've never worked in something an order of magnitude larger
than a few million.

------
laumars
I really want to love Eclipse but I've never quite managed to. And the reason
is quite simple: an IDE should enhance your productivity (otherwise we might
as well just be editing files in vi / emacs). Eclipse doesn't always do that;
in fact quite often it just gets in the way. It has so many silly nuances and
bugs that I've now just given up on it completely (I now use LiteIDE for Go,
plain text editors for C++ and the only reason I kept Eclipse on my
workstation was for Android development but I'll be looking rather closely at
IntelliJ for my next project).

It's a great pity because Eclipse -on paper- is the kind of IDE I should love.
It's powerful, flexible and let's you tune it to behave the way you want it to
behave. But getting it to bend to my will has on occasions in the past, taken
more time than it would have taken just to bang the code out in a plain text
editor and then compiling it myself via the command line.

------
Aardwolf
I don't "get" Eclipse personally.

Say I have some code in some directory. I want to edit that code. How do I do
that?

The whole mess with workspaces is so confusing, even resetting all settings
like your shortcuts! Why would anyone want their shortcuts reset when working
on something new?

Also, ctrl+k for find next while every normal UI program uses F3 for that (and
some gnome ones settled for ctrl+g): why? Seriously: why?

~~~
taeric
Is IDEA much different in this regard?

~~~
Aardwolf
Honestly: yes. I find IDEA much easier to use. It has hundreds of shortcuts,
but the basic ones match other editors.

~~~
kybernetikos
That's hard to take, considering how long it took me to stop pressing ctrl-y
for redo when I switched to intellij.

It's not just that it doesn't do what you expect, it's that what it does do is
disasterous for someone who was expecting redo (because it destroys your
forwards edit action tree).

~~~
pswenson
IJ's mac settings are absurd. But you can change the settings to whatever you
like. I've synched up my keystrokes from IntelliJ/RubyMine/AppCode and Sublime
Text 2.

------
ChuckMcM
Interesting and sad. IDEs are like editors, very personal things.

I wonder sometimes if it is an ego thing. How often is the whole direction of
a particular featured changed completely because the author feels they have to
be better than some other similar feature in a competitor environment? When
someone says "Yeah, but even Visual Studio does X" does that send the
developer into a flurry of "Oh yeah I can do X++?" or not?

I see similar things in the window systems, and find it sad that even in an
all open source space there are such vitriolic attacks on KDE/Unity/Gnome from
both inside and outside the various camps. Why is that? Its like sports
franchises for nerds where there is some sort of built in comparison conflict,
some need to be the "winner".

I completely agree that Eclipse could use a 'benevolent dictator' who not only
was able to make decisions by fiat if necessary, but also was not caught up in
defining their self worth by how Eclipse compared to other IDEs.

~~~
pyre

      | vitriolic attacks on KDE/Unity/Gnome 
    

I can understand the attacks on Unity. It was swapped to the default
environment in Ubuntu before it was ready for primetime, and it represents
Ubuntu's increasing distance from the rest of the Open Source (or at least
Linux) community (see Mir vs. Wayland).

~~~
thomasmeeks
Ubuntu is not distancing themselves from anyone, least of all Open Source.
Everything they are doing is open, and I'd argue in the spirit of the Linux
community, as well (experiment, scratch your own it, prove your idea by
building it, etc.)

I may not agree with all their technical & business decisions, but I do love
that they are willing to experiment on the "big things" and provide a little
competition in the space.

That said, their arguments against Wayland were way off. Which was a very big
mistake. Though I tend to attribute that to not understanding Wayland well
rather than malice.

~~~
pyre

      | That said, their arguments against Wayland were
      | way off. Which was a very big mistake. Though I
      | tend to attribute that to not understanding Wayland
      | well rather than malice.
    

I don't necessarily think that it was malice (you can bad-mouth someone
without malice), but it raises a lot of questions.

\- Why was Ubuntu so misinformed? Why didn't they discuss things with the
Wayland devs?

\- Why haven't they admitted their mistake in their reasons[1]?

\- Why is Ubuntu still going forward with Mir? Why not just use Wayland if the
'shortcomings' of Wayland that drove them to create Mir don't exist?

[1] Maybe they have, but I haven't come across it.

~~~
csense
> Why is Ubuntu still going forward with Mir? Why not just use Wayland if the
> 'shortcomings' of Wayland that drove them to create Mir don't exist?

Maybe the switching cost of moving to Wayland outweighs the remaining cost of
completing Mir.

Whatever the reason, I'm not complaining about the result, since I actually
think it's healthy for multiple competitors to exist in the same space,
especially for something as widely used as a windowing system:

(1) They can cross-pollinate ideas

(2) Competition puts pressure on sub-par projects to innovate.

Regarding (2), IMHO it's much easier for your project to innovate when a
competitor who's on your radar pulls ahead in mindshare or market share gives
you the kick in the pants you need when you're merely starting down the road
to stagnation. If you're a near-monopoly on your market niche (post-X FOSS
windowing systems in this case), you can get completely ossified and not
realize it until everyone leaves as soon as your monopoly disappears due to
new competitors (funded by the fraction of your own dissatisfied customers who
have deep pockets) -- a position which is much more difficult to recover from.

------
haddr
Eclipse user here. I use it on a daily basis and there are things I really
like about it:

\- debugger (and everything about it, like hot code swapping, etc)

\- run configurations (setting multiple run configs for one project happens!)

\- views: I mean i use only "java" and "debug". they could be faster but i
don't mind, you don't switch them often.

\- workspaces are ok too, when it comes to organizing your projects in groups.
It's ok, really.

What i hate:

\- performance. for example the typical problem (i think it is a bug) when you
switch between java and xml editor and you wait like 5 sec.

\- workspaces that resets everything. wokspaces should group projects, not the
user preferences. Dear eclipse, it's still the same person opening them!

\- why the hell i have to spend 2h configuring eclipse after downloading a new
version? does not svn/git/maven a default requirement for java development
today?

\- search. i never remember which tab out of 6 and what setting will allow me
to just do grep in the project folder.

\- the toolbar - please remove all this crap. I will only use those 3 run
buttons and switch perspective anyway.

~~~
robinst
> \- search. i never remember which tab out of 6 and what setting will allow
> me to just do grep in the project folder.

Just disable all the other tabs by pressing "Customize..." in the search
dialog and only selecting "File Search".

Or in the upcoming Eclipse 4.3, there is now an option to always show the last
used page, see here:
[http://download.eclipse.org/eclipse/downloads/drops4/S-4.3M6...](http://download.eclipse.org/eclipse/downloads/drops4/S-4.3M6-201303141330/news/#use-
last-page-option)

------
LaSombra
My gripe with Eclipse is: workspaces, perspectives, SCM plugins and the worst
is Build Path.

Some plugins like the Maven one is something that I can't stand. It's
confusing, lacks things like running a clean without needing to create a bogus
"run" configuration.

EDIT: I forgot to say that I hate editing HTML code in Eclipse. It's slow,
autocompletion is hit and miss and package explorer doesn't know how to group
web content.

EDIT2: How could I forget about the pesky hidden directories full of stuff in
it? Nightmarish!

------
programminggeek
I think it's funny that they don't seem to think of Eclipse as an IDE even
though that is probably where it is most used and most valuable, esp. when you
consider things like Zend Studio, Flex Builder, and Aptana Studio (which
powers Appcelerator now). Yet, the Eclipse team doesn't seem to see itself as
an IDE but more of a toolkit. That is completely stupid. Eclipse deserves to
have its core market slowly taken away by IntelliJ. Also JetBrain's various
flavors of its IDE are far superior to Eclipse.

~~~
nsxwolf
All the rebranded Eclipses remind me of those concert tours that rename
themselves for every local market to make it look like the rinky dink local
radio station organized a massive 3 stage music festival. "Oh wow, you guys
wrote your own IDE??! That's gr... Oh."

------
mooreds
I think it is great to see some reflection happening in the eclipse community.
It's a hallmark of a vibrant open source community.

The next question is, what will come out of the reflection?

~~~
encoderer
> The next question is, what will come out of the reflection?

Probably a better understanding of the class hierarchy.

~~~
mooreds
Right. But such understanding will be slow at first, only performing better
after years of optimization.

------
cmsimike
I tried getting into IntelliJ and, though look and feel wise and it is
superior to Eclipse in every way, there is just so much lacking that I am used
to in Eclipse. Maybe I am just not used to how IntelliJ does things...

I use IntelliJ primarily for Play Framework development. I've installed
plugins for almost all other languages (node.js, python, mustache etc) and use
IntelliJ for that but for non-Play Java, I tend to go back to Eclipse.

Some of that may be the 10 years or so now that I've spent with Eclipse.

~~~
cromwellian
In terms of multilanguage editing, refactoring, and just basic Java handling,
IntelliJ blows away Eclipse. I've been switching back and forth between the
two for years because of internal Google bias towards Eclipse, but I find
Eclipse to be very lacking. Just simple stuff like Find Usages or navigating
type hierarchies is done far better in IJ.

~~~
cmsimike
What do you find that is different? I've never had a problem with type
hierarchies or Find Usages in Java (not counting JSP - JSP support is
terrible).

For JUST Java, IMO Eclipse wins for me.

~~~
cromwellian
Well, if there are two inner interfaces called "Callback" like

public class Foo { interface Callback {} }

public class Bar { interface Callback {} }

The last time I asked Eclipse to find all implementors of Bar.Callback, it
actually returned ALL instances of any interface called "Callback" as if it is
just doing a String search and not actually using type hierarchy information
in the search.

Eclipse auto-assist often popups up tons of bullshit that is not relevent,
like asking to import say, a class called 'Util', Eclipse would often show all
kinds of entries from private com.sun.* classes in the JRE/JDK first. It's as
irritating and choosing what Country you're form in a Web Form and it has
Afghanistan first and United States at the end, even though it should know
from locale or Geo-IP how to sort better.

Maybe this has been fixed recently, but it has always worked the way it should
in IntelliJ. IntelliJ also handles Maven better. And it handles integration
between Java and other DSL languages better. IntelliJ's PSI model of code is
far richer than JDT.

------
scubaguy
Love that we're seeing more choices in terms of Android development. This can
only be a good thing!

I was very frustrated the last time I tried going to IDEA and I wrote about it
on my blog
([http://www.fisharefriends.us/wordpress/2013/01/27/intellij-i...](http://www.fisharefriends.us/wordpress/2013/01/27/intellij-
idea-from-a-long-time-eclipse-user/)). My observations:

. It seems to take a long time to “warm up” before IDEA runs as smooth as
Eclipse.

. Eclipse is stupid about detecting when you changed a file from outside of
Eclipse; IDEA is not. Eclipse is very annoying when you use Emacs/vi/OxygenXML
as an additional editor.

. “JetBrains :: IntelliJ IDEA” is a stupid, stupid name.

. Emacs key bindings in Eclipse is better, alt-w and ctrl-y “just works”.

. Maven projects is poorly integrated into Eclipse’s concept of “projects”.

. I miss the native “choose file dialog” you’d get with Eclipse.

. I think the new version has incremental compile like Eclipse, but it doesn’t
seem to work by default.

. The Maven daemon in IDEA used around 300MB of memory and continually
consumed CPU resources.

. The keyboard stopped working for some reason.

My experience was with the community edition, perhaps I should give the
professional edition a try. But at $200 and having had such a poor experience
with the community edition, it is a hard sell.

~~~
robinst
> . Eclipse is stupid about detecting when you changed a file from outside of
> Eclipse; IDEA is not. Eclipse is very annoying when you use
> Emacs/vi/OxygenXML as an additional editor.

Go to Preferences > General > Workspace. Enable the "Refresh" option(s) there.

------
sixbrx
The main problem I have with Eclipse and heavy IDE's in general, is their
build systems rarely play well with the standard, standalone build systems
such as maven or sbt, which are already necessary and sufficient with the
latter even doing incremental building already. These standard build systems
are a requirement because they track external dependencies and not everyone in
the group can be assumed to use the same IDE anyway.

Sure there are plugins to "integrate" these build systems, but I've wasted too
many hours futzing around with keeping the external build system in sync with
their Eclipse plugins (many times having to recreate projects altogether to
get past some sorts of corruption). Anybody who's had to pollute their poms
with Eclipse specific config after a lot of research because of the "Plugin
execution not covered by lifecycle configuration" problem will know what I
mean. Don't get me started with sbt integration.

------
brian_cloutier
Android did not switch to IntelliJ. Google has given you the option of also
using IntelliJ. Many people who do not like eclipse requested IntelliJ support
and Google listened.

This has been brought up a couple times in the sessions, they didn't do a
great job of explaining in the keynote. If you want to hear the official
story, watch a recording of the Android Fireside Chat session.

~~~
rmwaite
Actually I think you are wrong. Android Studio is not 100% complete yet, and
probably won't be for some time - but when it is done, Eclipse will slowly go
away - Google style. Meaning it will languish and its users will bitch and
moan until eventually it is canceled.

------
k__
They're right. The UX sucks.

This is big problem in most open source software projects :\

------
jpdoctor
I am probably a weird case: The major purposes of eclipse for me is purely
CDT, and for this it does 2 things well

1\. Graphical interface for compilation errors

2\. Graphical interface for debugging under gdb.

I haven't seen anything like it (Visual Studio is nice, but only runs on MS).
Would love to hear if anyone uses different IDE's for c++ devel that works
cross platform.

~~~
andybak
CDT?

~~~
mongol
C/C++ Development Tooling <http://www.eclipse.org/cdt/>

------
tszming
If any Eclipse developer(s) is here, please make the following feature happen
without a plugin. (it doesn't make sense)

Q: In Eclipse, how to reveal current file in filesystem

[http://stackoverflow.com/questions/1161240/in-eclipse-
reveal...](http://stackoverflow.com/questions/1161240/in-eclipse-reveal-
current-file-in-filesystem)

------
rogerthis
JetBrains tools are the only software I happily pay to use. Their support,
though not nearly perfect, is by far better than any other software I paid
for.

I hope Google and JB can work together to do a nice job and provide a better
development experience for Android.

------
tszming
I still remember some people joke around that the official Android coding
style [1] requires "Non-public, non-static field names start with m." is
because the core developers don't use IDE.

Anyway, Eclipse for Java development is definitely okay IMHO; but for Android
development, there are always nasty bugs like this [2]

[1] <http://source.android.com/source/code-style.html>

[2] <https://code.google.com/p/android/issues/detail?id=27940>

~~~
jmhain
I really wish hungarian notation would die already. Might be one of the worst
trends to ever catch on.

------
stephengillie
I'm wondering how long until someone ports the Energia/Arduino IDE to work
with Androids.

Energia is basically a port of the Arduino IDE to work with TI Launchpads,
including the TI Stellaris, which has an ARM Cortex-M4F. Before Energia was
ported, Eclipse was the IDE to use for TI Launchpads.

Working with this IDE has been pure joy. Adding libraries is as simple as
copying the library into the folder and restarting the IDE. Simply by
replacing Eclipse with Energia has made hacking with TI launchpad devices more
fun.

------
sivanmz
It's interesting that the Eclipse devs were not aware until now that users
actually don't like using it.

------
chris_wot
Those tweets were getting shorter and shorter, mainly because they kept adding
more and more people.

------
gcb0
Have still to try studio, but my experience with IDE is that I'm going to
regret it soon down the road. They always limit or screw me in a way that I
regret not starting with vim and a set of tools instead of packaging it
depending on some complex/closed codebase

------
rjzzleep
i'm actually sad and happy at the same time. eclim just got usable for me for
android development. i don't think you can run a headless intellij.

but i still consider intellij the better standalone IDE.

------
duiker101
I love IntelliJ but I am so pissed that the only Vim plugin does not support
key mapping. Which means to me it's nearly unusable.

~~~
jcdavis
Fix it! <https://github.com/JetBrains/ideavim> I'm sure they would happily
take a pull request

~~~
duiker101
I was actually thinking about it but I don't have much time (as everyone) and
I really do not know where to start from... I will still try give it a look!
(truth is I am afraid my code is not good enough)

------
sultezdukes
This might sound like small potatoes, but a big gripe of mine about Eclipse is
the code completion. Almost every other decent IDE (and even advanced enough
editors) doesn't wait for the dot to offer you code completion.

I never understood why that was never offered at least as an option.

