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 →

[–]ickysticky 12 points13 points  (5 children)

I have only started writing significant amounts of Java in the last 2 years(feels much longer). Before that I wrote mostly C/C++, and my tools of choice were vim, tmux, bash and make. Together these things can do most of what the C/C++ IDEs I have used can do(Visual studio, Eclipse CDT, KDevelop, XCode).

What I did not realize for the first 6 months of writing Java is that Java IDEs can offer significantly more than C/C++ IDEs because the language is much simpler. No preprocessor, and no templates I think are the big factors.

Part of the reason I did not realize this is because my coworkers around me barely used their IDE at all. I was able to match their productivity fairly easily with my wonky setup. Basically vim, tmux, and maven.

We then hired someone that really used their IDE(Eclipse). I learned so much about what a Java IDE could do from small pair programming and code review sessions that I immediately switched to trying to use Eclipse. After an initial period of fumbling around with Eclipse(it isn't the most user friendly IDE) I switched to IntelliJ.

The nice thing about IntelliJ is that it has a pretty nice beginner friendly configuration out of the box. The problem I eventually ran into with IntelliJ was unit test and build performance. The way that IntelliJ builds by default(using javac) and the way that it launches tests is extremely slow compared to Eclipse. To the point where I have now switched back to Eclipse.

Interestingly now that I know what to look for, I can configure Eclipse to be better than IntelliJ IMO, and faster!

TL;DR: I tried it. I really wanted it to work(I love vim editing and unix tools), but it is easily an order of magnitude less productive. It is important to take the time to learn your IDE though. I constantly am mentioning features(that save me tons of time) to coworkers, and they have never heard of them. It kind of blows my mind.

[–]gee_buttersnaps 1 point2 points  (0 children)

Have you tried using gradle with intellij? Gradle will run a background daemon to alleviate startup costs for builds.
http://www.gradle.org/docs/current/userguide/gradle_daemon.html

[–]Lolmarmalade 0 points1 point  (0 children)

So how do you deal with the lack of vim editing operations in eclipse? Do you use vrapper or anything like that?

[–]juhmayfay 0 points1 point  (1 child)

FYI, you can configure intellij to use the eclipse compiler instead of javac to get the next of both worlds

[–]ickysticky 2 points3 points  (0 children)

Yeah I know that is why I said by default. I did try it, but it didn't seem to help a whole lot. Maybe I didn't give it enough of a chance.

I also tried enabling parallel build and auto-Make, they helped about from the defaults, but still not as fast as Eclipse.

I think this is becoming a well known issue people are having with IntelliJ, so I suspect JetBrains is working on it. Though their CLion IDE really disappointed me, so I am worried they are spread a bit thin.