Hacker News new | past | comments | ask | show | jobs | submit login
Eclipse committer on Android IDE switch to IntelliJ (twitter.com/guw)
128 points by marpalmin on May 17, 2013 | hide | past | favorite | 128 comments



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.


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.


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.


That's great news, thanks for sharing! The plugin situation has honestly been one of my biggest gripes with Eclipse for some time. Once I get to a reasonably stable configuration that more or less works, I'm always very reluctant to change anything else, for fear of hosing my entire install and having to start over from scratch. That really detracts from the overall experience. :-)


That's certainly welcome news. Are there going to be any improvements to the performance of the incremental search when "All Available Sites" is selected? There is simply no reason why Eclipse should take 30+ seconds at 100% cpu on a i7-2600K to return a list of packages that match a substring.


Fantastic news. Thanks for the information.


It's a sad reality that FOSS is about the developers scratching their own itches, and not really about user level polish. That's what paid businesses are for. User bugs are hard and not sexy and probably not fun to developers, which is why they are punted to the bottom.

I guess it all depends on what factors you want to optimize for, like fun or success.


I wouldn't conflate the institutional problems plaguing Eclipse with a strict FOSS/paid business dichotomy here, especially because Eclipse was started at IBM, and continues to be funded and led by IBM/Oracle, etc.

It's tempting to make these sorts of claims because a mild level of user hostility plagues most FOSS gui apps that we encounter, but I think it's more useful to think instead of how difficult it apparently is for organizations to make effective UX design decisions.

It's equally likely that a "horrifyingly designed UI" (much like Eclipse) came out of an Enterprise Software shop.

None of the incentives are aligned toward optimizing user experience (i.e. rarely do the people who use the software the most have any say in how it gets built). And, because the way responsibilities are divided (i.e. one team per set of functionality, I imagine), no one in the leadership structure is empowered to make big changes that affect everyone; and so you're left with small incremental improvements and shitty error messages.


When it was VisualAge, it seemed like a pretty good UI back in the day, and compared favorably to the Borland and Microsoft products in use then. So I think maybe IBM can be let off the hook some.


Certainly. When Eclipse arrived, it was better than its alternatives, and it has not become strictly worse. More complicated maybe. But it is still a good IDE, it is just that IDEA is better, and expectations have changed.


I thought that IBM was behind Eclipse, hence the name being a jab at Sun (who created Java, and 'owned' it at the time). That seems more than just a bunch of random people 'scratching an itch.'


Given the Twitter comment thread, it seems like IBM is not as involved as it used to be.


Performance is the #1 issue for me with Eclipse.

I have used it on and off since the early days, and as hardware got faster, Eclipse... somehow has not. Its responsiveness on my 2011 Macbook Air SSD is truly shocking from the point of view of both UX and productivity.

I use it every day at the moment, and this is the only thing that I am constantly noticing.

The plugin compatibility thing can be a massive pain if you get bit by it too, of course, but doing plugins right is quite hard I think, and Eclipse isn't the only one failing there.


I often wondered why that is. I noticed it very noticeable too.

I often thought that this is just because it is Java. And almost all other Java apps feel similarly sluggish.

But then compare IntelliJ. It really feels very snappy. The startup time is not too long and then everything is extremely fast and responsive.


Last month I had an issue fixed in Eclipse - automatically appending semicolon after call to void method. I filed that issue six years ago.


Are all HN Eclipse users on Macs? There seems like there's a universe of difference between the common experience and what I've had with the decade or so on the platform.

For me on Windows, crashing is extremely rare. I've used it on just about every project I've worked on to great benefit. I typically run JavaEE config, and then add in m2, FindBugs, Subclipse, ADT, and sometimes Aptana when I want to check on it.

I never notice memory because I never run out of memory. Where configs is everyone using that memory is such an issue?


Are all HN Eclipse users on Macs?

Not me. I run it on Linux. Fedora Linux on my personal laptop, and Ubuntu on my $DAYJOB machine.

I never notice memory because I never run out of memory. Where configs is everyone using that memory is such an issue?

It's not so much about running out of memory, as just the fact that Eclipse consumes a lot of memory, which means it doesn't play nice with other apps. I have 4GB of RAM in my $DAYJOB machine, running 64bit Ubuntu, and after I load Eclipse 4.2 with a few projects open, it's not uncommon to find the resident image size sitting at over 1GB. So, that wouldn't be a problem in isolation, but now add in an instance of JBoss running, PostgreSQL, a few browser windows with a bunch of tabs open, a PgAdminIII window, a couple of Gnome Terminal windows, etc. and pretty soon the hard-drive is just thrashing like crazy, essentially freezing the entire system, for minutes at a time. To be fair, everything is contributing to that, but Eclipse is one of the main culprits.


pretty soon the hard-drive is just thrashing like crazy, essentially freezing the entire system, for minutes at a time

As a side note, this is why I never configure swap space in a server. If a server starts swapping, it's a fail. It should have enough RAM to do the tasks it's supposed to do, without ever running out of RAM. When it runs out of RAM, either the software has to be reconfigured to work within the available RAM, or the RAM has to be increased; or some tasks should be allocated to other servers.


> I have 4GB of RAM in my $DAYJOB machine, running 64bit Ubuntu, and after I load Eclipse 4.2 with a few projects open

I think the main problem is that having 4GB for a workstation is really low (specially for today's standards). Specially reading all the stuff that you put in.

I can imagine your day-to-day computer work should be unbearable. Are you based in the USA? I know that over there you can get 8GB for about $60, which for a company that is paying you $3000 monthly is peanuts.


Oh, I already have the 2nd 4GB chip in my possession, I've just been to busy to install it. And maybe this is one place where my age is showing, but... 4 freaking GB of RAM, IMO, ought to be enough, not, as they say "for anybody", but enough to run an IDE, one app server instance, a couple of browser windows and a handful of smaller tools.

Then again, part of it is being on a laptop that doesn't have an SSD which makes swap painfully slow. But still, Eclipse takes too much freaking RAM for what it does, IMO.

All of that said, the next laptop I buy for myself is going to have an SSD and as much RAM as I can possibly afford.


I'm not a eclipse user, but here's a comparison. On my workstation, visual studio 2010 regularly consumes over 1.5GB RAM. It's painful as hell, especially as I'm sometimes working on multiple solutions at once.


I'm curious why you're still using Eclipse. I switched to Intellij at my last job and haven't looked back since.


Familiarity, lack of pain, not convinced the alternatives are sufficiently better to justify the learning curve, etc.

In short, Eclipse mostly works for what I do, and while it frustrates me at times, there isn't enough pain there to motivate me to throw away the investment I've made in learning to use, configure, and customize Eclipse - for an alternative which may or may not even be better. Also, Intellij didn't always have the Open Source version, and I generally avoid using any software that isn't F/OSS. So for the longest time, my only real options for a Java based IDE were Eclipse or Netbeans. I played with Netbeans a little here and there, but never found it compelling. shrug


There are lots of things Eclipse does better than IntelliJ (and the other way too of course). It's mostly little things here or there (Quick Fix for example, SVN integration seems a lot better too). I sit around IntelliJ guys so I tend to compare whenever something annoys me in Eclipse or when doing pair programming.


Some of us are basically forced to use Eclipse at work, unfortunately, especially those of us whose companies have chosen IBM server software.


I did write a comment some time ago where I say that the use of yoxos (https://yoxos.eclipsesource.com/) helps a lot for this.

I m still a intellij user at home but at work we use yoxos and it is very good to customize and maintain eclipse configuration.


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.


New users acquire a very bad impression of Eclipse because it is very badly behaved in terms of GUI conventions: It offers to do things that make no sense. For example, if I have an Android project selected, four out of the siz "Run as..." actions it offers make no sense. Run my Android app as a Java applet? How? Why? Doesn't it know an Android app can't do that?

This could be very hard to fix. Does Eclipse have all the interfaces defined for correct behavior in all cases? how long would it take all the plugin developers to code the implementations for "Is this action sensible on this object?" and have that happen every time the selection changes?


The keyboard shortcuts make no sense on OS X, either. Most of them are very Windows centric. Eg pressing anything on the F row or that uses Ctrl is not very native. I feel like Eclipse on OSX is an afterthought


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.


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).


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.


"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.


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.


What do you work on? I find there's a huge difference between languages and projects. I don't mind writing Haskell or Python in emacs, but I couldn't live without VS for our fairly large C++ project.

Debugging without the IDE is a huge pain. Finding what functions call a given function, when many functions have the same name (so forget grep), is also something we use very very often to check what impact a change would have. That and "go to definition".


Well, I do develop C++ with Emacs, and I don't miss VS a single day. And you can 'Go to definition', 'find callers', etc, with other editors (Emacs, Sublime, SourceInsight, etc) ...


You're thinking in a text fashion and not an IDE. You don't need "multiple cursors" in Eclipse because you can right click the item Refactor name, and every instance across your entire project is correctly updated instantly. That works for variables in scope, or methods in a class, or class name references. This would be like multiple cursors on steroids if such a thing ever existed, but it wont since people use text editors mostly on languages that don't feature static typing so you can't do that kind of ultimate magic.

Also you don't need snippets because it has (wait for it) templates! Sample thing, user definable complete with variables to interpolate just like Sublime Text. Been there before ST existed as a product.

I think there is an Eclipse IDE education problem at work here. Discoverability seems to be really low.


If I had to use Eclipse 8 hours a day, I'd commit suicide out of desperation.


Then there must be something wrong with me. I used Eclipse all day every day for the last year for an android project and several websites and I am fine. Sure there were a few problems with updating, android and couple of other things but I solved the problems, adapted and marched on.

On the other hand, I am excited to try this new Android Studio IntelliJ thing, simply because of the hype and people's recommendation that IntelliJ is heaven. If it improves my productivity, then great. If not, I am fine with Eclipse and it looks like they got their wake up call to better their product.


If start-up time is an issue for you then you aren't using eclipse as an IDE. Eclipse and now IntelliJ is my primary development environment. IntelliJ is basically running on my machine all the time. IntelliJ may have an advantage of eclipse here in that it can have multiple workspaces open - I don't know if eclipse can do that.

I use SlickEdit for C++ and it starts much faster, but while it can "do" java, its completely ineffective compared to IntelliJ or even eclipse. OTOH IntelliJ occasionally hugs all 8 cpu threads trying to grok spring bean usage across three maven projects. Its a price I'm willing to pay.

And finally theres TextMate and Joe or on these knackered solaris boxes, vim. Can't really beat vim for start-up time, but unlike some of my genius friends, I can't get my head around it for large projects.

My point is, if your use case is open editor, open file, edit file, close file, close editor, then you don't want an IDE, and there are plenty of great editors for your use case.


Startup time is relevant to a program that crashes (or gets into an inconsistent state requiring restart) as often as Eclipse.


This is surprising because I've been using Eclipse every work day for over 10 years and it never gets in an inconsistent state and crashes are even rarer. Perhaps you are using bad plugins...although I've installed plenty of crap plugins and I still don't have that problem.


Very cluttered UI, but then again many other IDEs come close, no? Still quite bad though...

I don't think startup time or even close-time are particularly important. If you're using an IDE, you shouldn't expect to open it up and close it time and time again in one session, unless...

I think the main pain in the ass you missed about Eclipse is that it crashes a lot. I actually quite liked Eclipse until my project got a tiny bit bigger, and it kept on crashing every few hours. Worse yet, its backups are really bad. You'd think it had some auto-backup facility set on default, but there isn't one that works well enough.


It would be a more equal comparison to compare Textpad to Sublime Text. Compare Intellij startup to Eclipse startup.

Sublime Text is great, I love it, but its a text editor. If I wasn't a lazy guy I would keep using vim/emacs, but I like mice so I use Sublime Text.

When Sublime Text adds drag and drop refactoring, in app debugging, and the millions of other features required from an "integrated development environment" then startup time would be a more equal comparison.


IDEA is similar to Eclipse in those respects, except perhaps editing stand-alone files.


because of those default toolbars and windows, i think eclipse download package should come with a +30 inch screen.

but comparing eclipse with sublime text is like comparing word to the notepad. a bit unfair.


> I don't understand why so many people hate it.

On a fresh computer, download and install Netbeans 7.3 and Eclipse 4.2. Then check out a Mavenized JSF project from and run it.

Netbeans does Maven and Subversion out of the box, so I don't have to install any plugins. I point it at Tomcat, and it will build and deploy the app for me with one click of a button and zero configuration.

I have never successfully gotten all the plugins and everything necessary to do this with Eclipse working. The member of our team that uses Eclipse deploys wars manually for this reason.

IntelliJ, for what it's worth, also seems to do all of this out of the box (I used it for about a day, and concluded it wasn't enough better than Netbeans).

The easiest way for me to describe Eclipse's problem and why I don't like it is to simply say it is worse. It's fat, slow to start up, slow to use, requires hours of complicated setup to get it to do what you want. Netbeans utterly wrecks it for every use case I have. Outside Java, I use Emacs mostly. I would actually love to get Eclipse working so I can use eclim, but the configuration story is just so horrible. Installing plugins is slow. Choose an update site? Wait five minutes for the UI to respond while it downloads a sitemap? Which of these five plugins is the Subversion plugin I need? What's Mylyn, and do I need integration with it or not? And so forth.


That's just Textmate blah blah making its way into the mainstream.

Can you explain the Intellij draw to me? I've spent the last two days off and on look at the community edition via installion and googling and I don't see the killer feature set that everyone is talking about. It looks like a JEdits older brother to me.


I don't like Eclipse because it doesn't do the stuff that a basic IDE is suppose to do either at all or very well. Perhaps you have noticed that when you type in Intellij, it actually makes good suggestions and auto completes properly.


I've tried to like Eclipse a few times over the years. What kills it for me is (paraphrasing a bug report ISTR)

"We don't support rectangular selection and probably never will."


That's not true. Alt-Cmd+A toggles block selection on macs. Not sure what the keybinding is on windows.


Sounds like they added the feature then. Does paste of a block selection work correctly too?


It does, yes.

A general tip to find features like this: Press Ctrl+3 (Cmd+3 on Mac OS X) or type in the "quick access" search bar in newer Eclipse versions. It shows the command and the shortcut. Also useful for toggling "Show Whitespace Characters" without needing to have the button in the toolbar, jumping to a preference page, etc.


The number one reason I don't like it is performance. Things like typing and switching tabs shouldn't be slow. So I'm stuck choosing between having a bad experience or spending time in forums learning the latest .ini file tweaks and/or what features to disable to get normal editor performance. (This on a recent MBP.)

Not sure how IntelliJ compares in this regard.


I don't know if I would quite go with loving Eclipse (working in an environment where workspaces are practically required instead of only closing/opening projects and having to redefine settings constantly is a pain) at this point, having never really used IntelliJ either, but...

I will say as someone working with SWT right now that I'm not a fan.


Not sure what I use at home (commenting from work) but I have a dark theme running on my eclipse with great success. Its worth a google for the plugin and themes developed by users.


I did install some sort of theme manager for eclipse. It changed the color of the editor, but not rest of eclipse. When I maximised the editor window, it did look nice and felt easier on my eyes. However, when other windows and widgets were visible, that dark editor just looked out of place :)


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.


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?


I think this is the main difference between an IDE and an editor. Eclipse adds value by having some sense of your overall project. When you go through the process of setting up a project (for new or existing source), it parses all the files, gets info about all jars in classpath, etc. It can use this information to do things like:

- Change class name and every other java file which uses that class will also update correctly.

- Show errors when a dependency is missing.

-Change type of a method in one class and every error caused by that change, in every file is immediately highlighted.

-Right click on a method and ask eclipse to show you every method which calls that method...recursively.

-...and so on

You CAN just open a java file without creating a project, but then you don't get much more than syntax highlighting or formatting help.


Hell yes

Not to mention you write "obj." and can instantly see all the methods available with arguments.

Also if you add say an interface or inherit a new object it will immediately throw an error if required methods are not implemented. You then just hit ctrl+1 and enter and it will automatically add all the boilerplate functions you need to comply with the new interface.

It's a must for statically compiled, boilerplate filled languages like Java and C#. That said, if intellij is more polished for a niche and has a better UI I'll switch away from Eclipse in a heartbeat.

If you're not working with a dynamically typed language or markup language though then an IDE can really add a significant boost to productivity by eliminating all the repetition and actually making the strict static typing work for you.


>Not to mention you write "obj." and can instantly see all the methods available with arguments.

Eclipse could learn a lot from Xcode on how to do autocomplete well. I haven't spent enough time thinking about each to articulate a list of differences, but overall Xcode's implementation feels much faster, more responsive, and more intelligent - in terms of both when and what to show. It's the same "feature" in both IDEs, but in Eclipse it feels like I'm fighting against it much more often than in Xcode.


In PHPStorm (IntelliJ spin-off) I can just do "Open Directory", and it will parse all the source files inside that directory into a new project automatically (if none exists yet for that folder). All those intelligent features you describe work right away.

Why can't eclipse do that?


You can. For java if you have a source directory, you New Project -> Java -> Create from existing source code. If there isn't an option for that in php, its because no body has written it, not because its not possible.


I personally would prefer to have a "project" file, like Visual Studio or even Sublime Text. I can still get all the information I need about the dependency/class names used in the project, while at the same time I don't need to deal with the workspace stuffs.


I gave up on eclipse the first day I tried it while working on a PHP project. I tried to open a plain text file in the project and from the project explorer(or whatever it's called) and it opened in notepad instead of an editor window in eclipse. I knew at that point it wasn't for me.

Maybe things have changed since then, but I haven't bothered to try it.


Eclipse feels like an OS in some respects due to the amount of configuration options there are. Eclipse has file extension to editor mapping. You can map .php files to an Eclipse editor, but it may not be the default. If you installed the PHP Plugin[1] for eclipse, I'd bet that your .php files would then open in it's editor instead of the system default.

[1] http://projects.eclipse.org/projects/tools.pdt


I had the PHP extension installed, but this was a plain text file I was using for something (probably a template file or config file or something).

It's a pain to have to worry about configurations like this instead of just being able to get work done.


Losing your preferences when creating a new workspace is a problem I've never quite figured out.

These days I set up a clean workspace and configure it and just make copies instead of creating the new workspaces from Eclipse.

I've heard some advocate a best practice of just using a single workspace and using views and Mylyn to manage context. But there is a point where Eclipse goes over a performance cliff with the number of files and projects and the system is just not usable. That and the ever present possibility of workspace corruption make separate workspaces the way to go for me.

Also: Key bindings suck. I used to be able to get "Home" and "End" work in a sane way on Macs, but not anymore.


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

Eclipse organizes code by using "projects", which is really just saying "all files and folders in a specific directory". It's much like projects in SublimeText. In Eclipse you can open and close projects within a workspace. So I have like 15 projects within a workspace, but only have a few of them open at any given time.

The only time I use workspaces is for work when I have projects that are required to be a specific name (and I open different branches of that same project), but this is fairly rare for me.


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

What is the problem with File->Open?


You choose Import to open/create your project. It can be either copied to your workspace or edited in place.

For the repeat search you can edit your key-binds.


Is IDEA much different in this regard?


yes IDEA is file based and much clearer. You can open a directory as a project. Done. (no import in workspace, weird syncs ....) Eclipse has inherited this behavior from visualage for smalltalk where in smalltalk it kinda make sense but for java ?


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


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).


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.


IDEA is a better laid out in my opinion. Eclipse was just a mess for my tastes.


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.


  | 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).


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.


  | 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.


> 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.


Mir is actually making a lot of progress, but I can also see why Canonical would want to create their own display server rather than use an existing one.

Part of it is NIH, but the other part is probably the lack of full integration and control they'd have with regards to Ubuntu. It's still open-source, and they're working hard on it. I don't see what the issue is.


The issue is that they bad-mouthed the competing project by making a bunch statements about short-comings that apparently don't exist. It would have been much better for them to just come out and say, "we want to create Mir so that we have control over it and can integrate it completely with Unity Next," but they didn't. See also the recent post on HN about Kubuntu + Mir/Wayland and the possible issues (and unresolved questions) about keeping Kubuntu going.


Well, Ubuntu definitely messed up on their arguments regarding Wayland.

That said, keeping Kubuntu going is not Ubuntu's responsibility. It may very well be that Kubuntu will need to fork off Ubuntu (or base off a different distro), and that's ok!


It's not their responsibility, but it's not going to generate a bunch of goodwill for the Canonical/Ubuntu though. If they came out and told people the real reason for Mir, and why they thought that they wouldn't be able to integrate Wayland and Unity Next (beyond NIH syndrome), people might be more understanding. Also, the biggest question mark for Kubuntu seems to be whether or not Wayland and Mir can coexist on the same system.


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.


> - 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...


> - 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?

The "Eclipse IDE for Java Developers" comes with support for Git and Maven nowadays – no SVN, is there anyone still using it? ;):

http://www.eclipse.org/downloads/packages/eclipse-ide-java-d...


For the performance issue, either update to the latest version of Eclipse or downgrade to 3.8: http://download.eclipse.org/eclipse/downloads/eclipse3x.html

Juno has been plagued with performance problems and so I downgraded to 3.8 and it's back to normal. (I.E. no atrocious delay in switching from Java to XML editors)


"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."

be sure you are not using Eclipse 4.2.0 but at least latest 4.2.2.


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!


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.


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."


> Eclipse deserves to have its core market slowly taken away by IntelliJ

No please, for a lot of companies not in the USA (say, in Mexico), the price of any JetBrains product is prohibitive.


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?


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

Probably a better understanding of the class hierarchy.


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


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.


I tried IntelliJ and had the same reaction. I did find that IntelliJ had complete parity once properly configured and shortcuts were learned except for two showstoppers. Complilation was not continous and was slow, and in the debugger you can't pause a specific thread you can only pause all threads.

I did find that some common operations I do through the GUI require more clicks then when I do them in Eclipse. I didn't find it enough better to switch, but I run on fairly honkin hardware (Ivy Bridge i7, 16 gigabytes of RAM) and I changed the Eclipse default heap size to 2g.


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.


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.


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.


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...). 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.


> . 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.


The last time I tried IntelliJ it also had poor BiDi support and the font rendering was crappy compared to Eclipse (Eclipse uses the native platform font rendering, and IntelliJ does not).


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.


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.


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.


They're right. The UX sucks.

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


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.


Netbeans has a C plugin that's pretty nice and might be worth a try.


CDT?


C/C++ Development Tooling http://www.eclipse.org/cdt/


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...


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.


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


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


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.


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


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


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


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.


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.


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


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)


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: