Eclipse IDE 2021-03
eclipse.org
eclipse.org
In Intellij, for years and years and years and years and years, and possibly even still, you had to enable a changing and unpredictable set of options to get the same set of behavior, maybe. You'd try to find the most recently edited answer in this question[1] and hope that it worked. Note how one of the upvoted suggestions is "use the Eclipse compiler instead."
So yeah, switching to Intellij killed off like 30% of what made Java development bearable for me.
[1] https://stackoverflow.com/questions/19364949/how-to-view-the...
I suspect there are two components to the Eclipse vs IntelliJ bias in folks. 1st is which IDE they used first, and like every editor war, this is all about habit and finding that the workflow you built around one tool doesn't fit another, and then the second is about which phase you adopted the tool in. IntelliJ was so far ahead of Eclipse in terms of pure usability and delightful advanced completion and refactoring features in the early days, but eventually Eclipse - and other IDEs which will not be named - took inspiration from Jetbrains innovation to narrow the gap.
Eclipse has a “problems” view which shows you all these kinds of problems across your whole workspace, all the time. I find that to be very nice: you configure Eclipse to show you the kinds of warnings you care about. Then you get a list of places to fix. And you can make sure that the list is empty at all times.
In IntelliJ you have to start analysis, and the CPU fan spins up and it takes some minutes. And then the list of problems goes away after a while and you have to rerun analysis.
In IntelliJ I make do with the annotations in the file I’m currently editing. IntelliJ also has smarter warnings than Eclipse does. But still, the problems view is very nice and I miss it.
My usual pain point with eclipse was mostly package refactoring always leading to tree conflicts with SVN repos.
But that was ages ago and back then using Idea was way ahead of eclipse wrt refactoring and overall developer experience/productivity for us.
But I'm not religious about TDD. I might try different ways to modularize the same code or sketch out several different interfaces or service stubs. This is not something that you can automate.
And when I'm done laying out the major pieces, the problems view in Eclipse helps me climb out of the sea of red that I've created by pointing out where I need to wire up methods together, or think more about type signatures, or whatever.
Tangentially, this is why we chose Dagger over Guice for dependency injection in Java. Dagger generates the wiring code at compile time, so you get all the niceties of static type checking in plain view, right away.
Thinking further I might have silently adopted a self-imposed "keep track of edit states and memoization in the wetware stack" approach, which I realize now is something that is far more exhausting than offloading to the tools whose purpose it is to show where the missing bits are.
However, I want Compiler Compliance level setting not be drop down any more, as Java release cycle has changed. I like to play around with cutting edge. Few days back, I downloaded Open JDK project loom 17 release to play around with Virtual Thread a.k.a Fibers and there was no option to set it to 17. I tried LSP Redhat plug-in in VSCode, but it also gives Invalid runtime JDK warning.
I'll continue using Eclipse.
There's been periods where it has been so buggy that it's been nearly unusable and just a very rough ride, but for the past few (three-four?) years, it just works.
The most important tool is the one you know how to use though. If you can't run your unit tests in your IDE, or you don't know how to launch an embedded server, or take advantage of the key bindings and type-ahead, then you're missing the point and you'd be better off with vim or notepad. The point of an IDE is you're commanding it to do large parts of the work for you.
I don't think it's reasonable to say Eclipse is bad because you haven't used it for 10 years and had trouble finding your way around, etc. The same could be said about Visual Studio, VSCode, IntelliJ or whatever else someone wants to program with today.
The point is, any new environment is going to be jarring at first. You have to learn how to use your IDE - and once your do, productivity can go way up (this is why people do not switch IDE's very often, you must invest in your IDE to master it). Every IDE has different productivity-enhancing features (beyond basic code suggestions and auto-complete).
If you can master a brand new (to you) IDE in minutes, then it's frankly not a very powerful IDE. The basics, like refactor some code, move some source files around, create a new file, etc - sure, those should come easy. Things that don't come easy is how to create new file templates, enforce code styling, configure database connections (if you work that way, I don't), how to package your software, and the plethora of other things IDE's do for us these days.
You can prefer an IDE, or a text editor + plugins. Either would be fair.
But the complaint that text editor without plugins doesn't "compile" your C code is misdirected.
We've strayed from the initial point - IDE's are complicated because they do complicated things. Any new IDE is going to be difficult to use at first, unless all you need is the absolute basics (a la text editor). Criticizing Eclipse for not knowing how to use it after 10 years (effectively using it for the first time I'd argue) is definitely unfair.
For giggles, I just installed Eclipse for the very first time on this computer. I opened a Python file, and it's visible in the middle third of the window, surrounded by wide sidebars and a bottom section with labels like "Markers", "Servers", "Data Source Explorer", and so on [0]. I have literally no idea what I'm supposed to do next, or how to fix that I can only see a tiny bit of my code by default. Contrast with opening a file in a brand new, unconfigured VS Code setup [1].
I'm not saying that Eclipse is bad, just that I don't know how to use it. That's not a criticism of it. However, I strongly thing that the first-time experience of opening VS Code is miles better than that of Eclipse, and I guess I am criticizing that a little bit.
In your Eclipse screenshot, it seems pretty obvious you can click-drag the window to be larger.
So, what is it we're arguing about then, if we both agree a default UI layout isn't indicative of a good or bad IDE?
I'd wager if you spent a few hours in Eclipse you'd feel comfortable navigating your project too. AKA, invest the time and learn the tool you will be using.
source: I should use Eclipse at work for a few years
Recompiling after a save would unshow/show method parameter names (which didn't change) in function calls which again pushes text around that one may be reading/interacting with.
Variable insertion (ctrl+alt+v?) was too heavy, I shouldn't need to wait for a dialog to pop up.
Mouseover didn't show actual types for things--only the javadoc--and required a key binding to show the actual types.
Running a single test required recompiling for some reason and wasn't instant.
Debugger doesn't show variable representation for long values well and makes you pop up another dialog.
Even though it uses the same terminology the debugger tries to 'help' by making 'step into' more like "maybe step into if I think that's what you want, otherwise I'm going to step over even though there's a separate key for that"
Huge tooltips constantly popping up as I'm typing things, obscuring lines above that I may be trying to read eg. variable names.
Can't have multiple projects open.
No way to make the outline/structure show program order. Someone asked in a ticket for this is the devs made them justify why they wanted to see their code in the same order they wrote it, and then still didn't fix it.
They have mini modes for things like json that make the editor experience actually just worse than typing in notepad. Don't insert commas when I hit enter and make the json invalid. Don't try to help me type escape sequences in a single string and produce "\"","" whatever that is.
Switched to IntelliJ and never went back.
Also: IntelliJ's superior scala support also played a huge role in the decision.
I've used IntelliJ for a JavaScript project and in the form of AndroidStudio, but I don't remember anything so extraordinary that it would compel me to switch.
Any 12 months subscription (be it one payment annual subscription or 12 consecutive payments) allows you to keep the current version forever. The subscription is only needed if you want to update to a newer version.
https://sales.jetbrains.com/hc/en-gb/articles/207240845-What...
I haven't really missed much with Java development on Eclipse.
Even something this fundamental took me a fair bit of searching through forums and is turning out to be a hot mess.
With Xcode, IntelliJ and CLion, and heck even VSCode, things just work for me. Key bindings make sense. Common options are available and where you'd expect them to be. There's actual "flow" in my workflow instead of having to battle with the tools.
IMHO Eclipse tries to be everything and the kitchen sink, and it's getting increasingly hard(er) to get set up and use productively.
Eclipse itself has certainly improved dramatically in the last couple years. Speed, UI, Installation, etc. Lots of polish going into it...
This is a really strange observation.
Do a search here on HN for the Visual Studio Code editor and you'll find a number of posts with 0 comments. I use that editor as an example as it seems to be among what's popular at the moment.
I don't think you can derive much from the number of comments a post has after 3 hours. Some of the more popular posts on HN exist after the link had been submitted a number of times prior.
I'm not the youngest developer, and I like to see content on my steady bread-winner so I upvote it. Java is in a mature phase, so there are not a lot of surprises, and things to discuss. Even the shiny new things that make the platform unique like Loom have been years in the making.
Just Java being Java, where 'boring' is what you actually want from it.
I rather suck it up and use Electron for Java development (VSCode + Microsoft/Red-Hat plugins) than having to deal with InteliJ.
I'd rather say that old paths keep getting rediscovered. Such is the cyclic way of tech. There are always new "hipsters" that are freshly paving old paths, putting their unique spin on it.
In the world of VSC, this stuff requires figuring out which tool the community recommends, configuring it, and making sure that all the things you chose actually work together.
there is platformio for vscode in same vane but kind of a hodgepodge dog
On a whim, I decided to give VsCode a spin, since I don't code java for fun there was no IDE for it on my personal machine.
I spent the night pesting at VsCode. Many very basic things require a plugin, and some are not present.
Will not use again to do Java. I like it for python.
Speeding up Maven compiles?
It’s usable for Java/scala development, but lacks features. Feature comparison at https://www.jetbrains.com/idea/features/editions_comparison_....
And “whatever it is” is $499 for the first, $399 for the second, and $299 for later years (https://www.jetbrains.com/idea/buy/#commercial?billing=yearl...)
The individual price for Ultimate Edition is $149 the first year, $119 the second consecutive year, and $89 a year from then on.
Amazing
VSCode has taken over the "everyone extends it" space. When you know your way around VSCode you're good to go on a lot of the software projects you work on today.
- Eclipse type hierarchy view (and quick view) was nice
- Google-Java-Format plugin integration was better
- The default color scheme of Eclipse was better (not sure why but I can't use a dark theme with Java)
But Eclipse had too much strange behaviors where I had to restart it and IntelliJ has those warnings/suggestion about code quality and better auto-completion IMO.
I moved to intellij because the simple things I needed just worked out of the box, and I mostly find it great.
But I'd still like to hear from someone with a different take on it .
After the next upgrade on arch linux where i had to fix the setup and reinstall some plugins/dependencies we switched to intellij.
Intellij just works :(
The quality of all the other addons are variable from amazing to trash (because there is a commercial version they'd rather you bought).
That was always the problem with Eclipse foundation - the struggle between what's free in the IDE and what's commercial and how to drive spenders towards the commercial solutions.
I haven't used it since the switch around 3.7 - 3.8 (aka 4.2).
Intellij is not perfect, but it is not nearly as "user-hostile" as Eclipse. Most things just work (without hours of fiddling). Updates to new versions just work. Dark themes just work. Honestly coding in Eclipse feels like a trip back in time after getting used to Intellij.
I know it has (had?) fans but for me it’s model of perspectives where your entire UI changes when something happens never gelled with me (YMMV).
I can recall many conversations by colleagues who were stuck in plug-in hell with Eclipse. Different Subversion (then git) plugins that didn’t quite work in different ways. That sort of thing.
For 15+ years I have been (and remain) an IntelliJ fan boy.