Hacker News new | ask | show | jobs
by hugi 978 days ago
> Intellij's refactoring crown

Not sure IntelliJ has a crown here. I use Eclipse and it has some pretty amazing refactoring options. And I really prefer it to IntelliJ (for my use cases at least). Are there particular things IntelliJ can do that Eclipse can't?

3 comments

I tried eclipse again last year and, while I cannot say it has bette for worse refactoring, I don’t understand how it could possibly be better given that its detection of available symbols seems to be little more than an RNG.
Yeah. I've been doing software engineering (mostly Java) for 20 years now. Eclipse stooped being relevant among professionals around 2008.

You'll still find eclipse or NetBeans users though, just like you'll find people browsing the web with Lynx : - )

2008 was 15 years ago and many of the people I've spoken to formed their opinion of Eclipse (and IntelliJ) at that time. But what you saw back then and now isn't anywhere near being the same software.

Can you explain why Eclipse is worse than IntelliJ today?

I think I last used eclipse about 5 years ago, when I switched to VSCode. At the time, eclipse still felt like 2008 software, extremely sluggish and clunky. In particular, it really suffered taking advantage of multiple monitors.

What's changed since then? Has it gone through some kind of massive redesign?

Intellij's vim plugin is good.
Could you please explain? You say you don't know if it's better or worse for refactoring and then you say it's detection of symbols is like a random number generator? How so?
When I used eclipse, it is suggesting symbols from locations that are not even contextually available. Given how much refactoring often relies on accurate contextual symbol detection, there’s about a 0% chance that it does better than IntelliJ.

I didn’t even get to trying eclipse features because everything else in it is so remarkably stupid, useless, and actively battling me compared to IntelliJ.

I have been working on enterprise Java projects (basic consulting) which uses eclipse almost exclusively. We do not use Smurf naming convention (SmurfDto, SmurfDao, SmurfService, SmurfController) just for being able to find related classes. We do it because eclipse seems to randomly refactor classes based on non fully qualified names. No to naming something Constants as that will (randomly) refactor the codebase to break partially if you decide later to refactor something in that class.

I have tried everything from no vendor plugins for app servers to a vanilla eclipse and it still messes up.

I do like the product, but it can be very frustrating at times.

IntelliJ can view bytecode even without the source code
Isn't that a simple decompiler? Those exist since forever. Should be available everywhere, maybe with a plugin.
Any JDK can do it, just call javap.
Kotlin. I switched to Intellij due to Kotlin, in is slow in Eclipse

But seriously, Eclipse was helping me more then Intellij does and has better defaults. It shows all errors and warnings at once etc. Even things Intellij actually has like call hierarchy tend to be sort of hidden by default.

"The next thing is also fairly straightforward: we expect Kotlin to drive the sales of IntelliJ IDEA. We’re working on a new language, but we do not plan to replace the entire ecosystem of libraries that have been built for the JVM. So you’re likely to keep using Spring and Hibernate, or other similar frameworks, in your projects built with Kotlin. And while the development tools for Kotlin itself are going to be free and open-source, the support for the enterprise development frameworks and tools will remain part of IntelliJ IDEA Ultimate, the commercial version of the IDE. And of course the framework support will be fully integrated with Kotlin."

From https://blog.jetbrains.com/kotlin/2011/08/why-jetbrains-need...