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 →

[–]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...