Is it that good, nowadays? Long, long time ago in university (okay not that long, around 2006), I first discovered NetBeans as superior Eclipse replacement, but about a year later IntelliJ as superior NetBeans replacement. And this was already for relatively simple stuff.
Agree completely that it's mind-blowing, it's my go-to tool when I do need an IDE (though I get most of my work done on emacs).
However, at my age, another thing that's mind-blowing is that this is now considered efficient. My first experiences with this was with (IIRC) was its predecessor, Forte for Java, and while I loved it, I remember it being a huge resource-hog. It's unbelievable to me how much computing power has improved to the point that something like NetBeans can be considered efficient (I don't discount their efforts in making it more efficient, but I think the fact we have more brute-force capacity these days certainly helps a lot).
Well, it's efficient if you compare it with the even newer (and even less efficient) generation of IDEs based on browser technology. Haven't used NetBeans in a while, but JetBrains are doing their very best to hide Java from you - their products come with their own (probably customized) OpenJDK so you don't have to have Java installed etc.
Around 10 years ago, when I was getting started with Android development, there was a plugin for that. I did try it first, but ended up going the official way with Eclipse.
Except performance. Saying this as a daily intellij user. I still miss incremental compilation speeds for Java that were in the order of milliseconds rather than the 5-10 seconds (minimum, if you are lucky).
I love Kotlin but compiler speed is not one of its strengths. And with the round trip via Gradle, it just is guaranteed to take multiple seconds to process even a 1 character change in a unit test when you run one.
Eclipse used to be awesome for this with Java:
- error state of your project would update in real time while you were typing. Introduce a problem, the project goes red immidiately. Fix the problem, the red goes away immediately.
- Edit, run, type, edit run type, etc. without noticable delay. Intellij never had this.
The reason for this was a deeply integrated incremental compiler. It could even tolerate compilation errors and still allow you to run parts of your code. There are not many IDEs out there for any language that can do that. IBM did that 20 years ago with Eclipse and it's a feature I miss a lot.
Same here, much prefer Eclipse to IntelliJ. Super fast and provides instant feedback on everything you do with the incremental compilation. And the workspace is amazingly powerful as a concept.
I used to bash Eclipse (Netbeans fanboy :) ), then IntelliJ came into the picture without Javadoc completion out of the box (fixed nowdays), required explicit invocation of inspections, ten finger chords, no incremental compilation, no support for JNI development, indexing non stop,... and I re-learned how great Eclipse actually happens to be.
There's a secret to kotlin compiler speed, and that's learning scala first ;)
And yes, the eclipse way of live embedded compilation to a classloader nested in the IDE process was awesome in more than one way. Probably an inheritance from its Smalltalk roots?
Some time ago I heard of a website dedicated to hating eclipse ide, but google can't find it. By any chance do you know what it is? Sorry if this comment sounds like gaslighting, I'm just curious.
Mac. It's not an OS thing. And no, it's not a virus scanner or something silly like that. I've seen the behavior replicated on lots of machines; including laptops belonging to other people that claimed it was my setup that was the problem. You set it up right, you get about 2-3 orders of magnitude difference in performance between Intellij and Eclipse. It's just that people get used to it and actually seem to think five seconds is pretty fast. Trust me, I've heard all the excuses over the years. When you've seen 50ms, 5 seconds is an eternity.
Netbeans > Eclipse > IntelliJ when it comes to working on multiple projects. I still see colleagues who have a separate IntelliJ window open for each project they need to work with because IntelliJ makes it so damned convoluted.
> I still see colleagues who have a separate IntelliJ window open for each project they need to work with because IntelliJ makes it so damned convoluted.
I do this on purpose, because it's much easier than having all in a single window. IntelliJ always gives you the option to have them in a single window.
The single window option from IntelliJ is a hack of sorts, the last I checked they have some notion about importing a module vice a project. I'm not sure why on earth you would want separate windows though when, say, you're working on multiple Spring Boot projects and a couple of library jar projects that all interact with each other. Switching back and forth from window to window seems like self cutting.