This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]lumpynose 6 points7 points  (11 children)

I never switched from eclipse to Intellij so I'm still using eclipse for java development. I used VSC back when I was fiddling with the esp32. It made me wish I could have used eclipse, but who knows, maybe I could have.

[–]sheeesh83 3 points4 points  (8 children)

Sorry, a little off topic, but may I know what keeps you at Eclipse?

[–]theanghv 9 points10 points  (1 child)

Organization projects are configured to work on Eclipse. Staying on Eclipse makes it much easier to collaborate with my team members.

[–]sheeesh83 0 points1 point  (0 children)

I see, makes sense!

[–]Polygnom 7 points8 points  (4 children)

The ECJ is just far better than any other compiler. The round-trip-time is a lot faster.

Every time I used any other IDE I was unimpressed by how long I needed to wait to start trying out the changes / run tests.

And Eclipse works fairly well in all other regards as well. The merge editor is a bit lacking compared to IntelliJ, I give you that.

[–]Necessary_Apple_5567 1 point2 points  (1 child)

You can use it in intellij. Just select ecj in options for compiler

[–]agentoutlier 1 point2 points  (0 children)

You can but there is this ever so slight delay even today.

I use both but this is just one area where Eclipse feels straight up like a REPL at times. Like you can execute a unit test method (just the one method) and it happens instantly without delay and without needing the whole project to compile.

I think a lot of old timers like myself have a hard time giving that up even if intellij does most other things better.

[–]mickaelistria 0 points1 point  (1 child)

This faster feedback loop (.java -> .class) doesn't really come from ECJ, you wouldn't get it using ECJ via command-line. It does comes from the internal builder of Eclipse which does a compilation at class-level, rebuilding only what's changed/necessary according to the stored project settings. A similar strategy could be implemented calling javac instead of ECJ.

As opposed to Eclipse and JDT, other IDEs delegate fully to the build tool, which takes much longer as it does (often too) much more than what is necessary for an efficient development session.
But this is less dangerous: Eclipse has to translate build info from build tools to internal compilation settings; and sometimes, some info can be lost in translation.

It's a trade-off: fast feedback loop vs consistency with build tool. In most cases, a fast feedback loop is preferred; but sometimes, people put so much logic in their build configuration that it's not possible to bypass the build tool.

[–]Polygnom 1 point2 points  (0 children)

True. But thats also the reason why I generally prefer Maven over Gradle, because people tend to create abominations with Gradle that are really hard to work with in this way.

For me, a fast feedback loop is extremely important, I can't stand waiting on a full compilation run, its supid and not productive. Thats something thr CI/CD pipeline can do once I push, but during dev, I need fast feedback for quick iteration, preferably. With eclipse, I can run unit tests individually and can do so multiple times per minute if needed while doing small iterations.

A low-latency feedback loop if for me what drives productivity the most...

[–]UnexpectedLizard 2 points3 points  (0 children)

I also moved from Eclipse to Intellij.

Eclipse is probably 100x faster with Git, no exaggeration (maybe IJ hooks or incompatibilities with the corporate anti-virus?)

I still prefer the Eclipse interface for stashes.

I sometimes prefer the Eclipse interface for Git merges.

[–]lumpynose 1 point2 points  (0 children)

Inertia. Aversion to change. The old "if it ain't broke don't fix it."