Best Java IDE

I am finding VS Code quite interesting with Angular 4 development.
I haven't really hit any bumps and the cli which is PS, is lovely as well.

But again, I can't compare because I haven't used Atom either.

Well, after you are done with VS Code and tried Atom you can move onto Brackets :crylaugh:
 
This is very much like asking which flavour cool drink is the best. It's almost all up to your preferences.

There are some things that certain IDEs objectively do/handle/support better than others, but mostly it's just down to which IDE gets what you need to be done, done easiest.

I personally use Eclipse because that is what I've become accustomed to, so it allows me to get things done easier than IntelliJ would if I had to learn IntelliJ from scratch right now. Doesn't mean IntelliJ is bad, by any means. In fact, if I had started off using IntelliJ instead of Eclipse, I'd struggle to transition to Eclipse in much the same way that I'd struggle to transition to IntelliJ now.

So I'd advise that you try out some of the major ones (IntelliJ, Netbeans, Eclipse, etc) and maybe a few of the less well-known ones as suggested by others, but ultimately there is no single best choice. Only a best fit :)
 
Since the Netbeans rework I would say:
IntelliJ (not sure of the differences between community and pro, could be community is equal to Netbeans)
Netbeans coming a close second
...
Eclipse. Those annoying errors of things not found when you click follow to where defined it's correct but the IDE just throws an error and doesn't want to build. Wasted so much time on this.

VS Code has come a long way, use it for Web. Dev., so not sure in regards to how it features with Java, might be worthwhile to check it out.

EDIT:
[)roi(];21231101 said:
Most off my coding (not just Java) is still done primarily in editors: Sublime Text or vi; which in my experience just are a better overall UX than IDEs + not only do they avoid all the IDE specific bugs (UI, Intellisync, Code completion, ...), they are far more responsive with larger source files.

On the occasion that I'm forced to an IDE (on site with a customer) -- it's usually either Eclipse, Netbeans, IntelliJ, ... but they're all varying shades of hair pulling awful (good & bad).

How often do you experience these bugs? I am curious as I can't remember the last time where I've experienced an IDE bug out except for eclipse. I am also curious as to how big your projects are that you work on that cause the IDE to lag, is it due to the indexing I assume? Why don't you turn it off then (project or per folder), IntelliJ and Netbeans allow you to pause it.
 
Last edited:
Since the Netbeans rework I would say:
IntelliJ (not sure of the differences between community and pro, could be community is equal to Netbeans)
Netbeans coming a close second
...
Eclipse. Those annoying errors of things not found when you click follow to where defined it's correct but the IDE just throws an error and doesn't want to build. Wasted so much time on this.

VS Code has come a long way, use it for Web. Dev., so not sure in regards to how it features with Java, might be worthwhile to check it out.
VS Code is more than adequate for Java and many other languages. However I suspect anybody who loves all the gumpf of Eclipse, Netbeans, IntelliJ, ... would easily point out its many shortcomings.

For me it's just a bit too sluggish for regular use.
 
Has anybody in this thread said they actually like Eclipse? Who is this troglodyte? SHOW YOURSELF!
 
This is very much like asking which flavour cool drink is the best. It's almost all up to your preferences.
...
I personally use Eclipse because that is what I've become accustomed to, so it allows me to get things done easier than IntelliJ would if I had to learn IntelliJ from scratch right now. Doesn't mean IntelliJ is bad, by any means. In fact, if I had started off using IntelliJ instead of Eclipse, I'd struggle to transition to Eclipse in much the same way that I'd struggle to transition to IntelliJ now.
...
Agreed, there's nothing fundamentally wrong with Eclipse that isn't a problem in some way with the other IDEs.
Editors & terminals still IMO rule.
 
Has anybody in this thread said they actually like Eclipse? Who is this troglodyte? SHOW YOURSELF!
I just did in a way; it's IMO the same kind of nasty that Netbeans and IntelliJ are.
 
[)roi(];21236319 said:
VS Code is more than adequate for Java and many other languages. However I suspect anybody who loves all the gumpf of Eclipse, Netbeans, IntelliJ, ... would easily point out its many shortcomings.

For me it's just a bit too sluggish for regular use.

I like some of the gimmicks like it being able to get the JavaDoc written by the dev when you call the function and e.g.
image7.jpg inline parameters. There is an issue open on VS Code to implement it. Also other things like IntelliSense suggesting frequently used functions within the project first and then alphabetically.

Mostly speed stuff.

Of course you probably work on projects that are far above us cookie cutters, it's more of a logic puzzle than a quick solution type of thing.
 
I like some of the gimmicks like it being able to get the JavaDoc written by the dev when you call the function and e.g.
... Inline parameters. There is an issue open on VS Code to implement it. Also other things like IntelliSense suggesting frequently used functions within the project first and then alphabetically.

Mostly speed stuff.

Of course you probably work on projects that are far above us cookie cutters, it's more of a logic puzzle than a quick solution type of thing.

I've never had a problem writing Javadoc tags -- and I work in editors. As for speed; programming is not a race; but I'd happy weigh up the performance of sublime text against any of the IDEs.

Ps. + if UX speed really mattered that much to you; you wouldn't anyway work in an IDE. I grant you speed is your last consideration of the perceived "benefit" of an IDE.
 
[)roi(];21236415 said:
I've never had a problem writing Javadoc tags -- and I work in editors. As for speed; programming is not a race; but I'd happy weigh up the performance of sublime text against any of the IDEs.

Ps. + if UX speed really mattered that much to you; you wouldn't anyway work in an IDE. I grant you speed is your last consideration of the perceived "benefit" of an IDE.

No, not writing it, I mean fetching it. So if you type e.g. System.out.println and hit the keycombo the documentation shows up, IntelilJ can also do this for custom functions (mostly use this feature in PHPStorm though, so not sure if IntelliJ does it, but same suite of products).

And in terms of race, I mean that you get a lot of small issues to fix with a small time frame, usually it's a race to finish the issue. If it's something larger, logic puzzle, then yes, it's not a race.

No, by speed I mean in terms of things that oft repeated you can use built-in IDE tools, e.g. if you need getters and setters for something, convert it from a chain of if/else to a switch (haven't had that in quite a while myself though), constructor build, not the actual UX. I don't experience slow-downs in IntelliJ/Netbeans/GoLand/VS Code since I installed an SSD with 16GB of RAM, but my projects are probably a lot smaller than yours. That's why the indexing pause/disabling suggestion for you.
 
No, not writing it, I mean fetching it. So if you type e.g. System.out.println and hit the keycombo the documentation shows up, IntelilJ can also do this for custom functions (mostly use this feature in PHPStorm though, so not sure if IntelliJ does it, but same suite of products).

And in terms of race, I mean that you get a lot of small issues to fix with a small time frame, usually it's a race to finish the issue. If it's something larger, logic puzzle, then yes, it's not a race.

No, by speed I mean in terms of things that oft repeated you can use built-in IDE tools, e.g. if you need getters and setters for something, convert it from a chain of if/else to a switch (haven't had that in quite a while myself though), constructor build, not the actual UX. I don't experience slow-downs in IntelliJ/Netbeans/GoLand/VS Code since I installed an SSD with 16GB of RAM, but my projects are probably a lot smaller than yours. That's why the indexing pause/disabling suggestion for you.
I'm quite happy to consume API docs in a browser; inline API lookup is a nice to have as are most things in the IDE. As for the race; not sure I agree, as chasing clocks can quite often leads to more bugs and design faux pas.

Your SSD certainly helps the app launch times, but it makes almost no difference to the speed of the UX; that's where less active code analysing parsers comes into play. By hey nothing stops you from staying with an IDE especially if it works for you.
 
Has anybody in this thread said they actually like Eclipse? Who is this troglodyte? SHOW YOURSELF!

I actually like it. Learnt Java with it and just kinda stuck. IntelliJ is a little better but I prefer Eclipse. Need it(kinda) for the dev I'm doing now also.
 
[)roi(];21236589 said:
I'm quite happy to consume API docs in a browser; inline API lookup is a nice to have as are most things in the IDE. As for the race; not sure I agree, as chasing clocks can quite often leads to more bugs and design faux pas.

Your SSD certainly helps the app launch times, but it makes almost no difference to the speed of the UX; that's where less active code analysing parsers comes into play. By hey nothing stops you from staying with an IDE especially if it works for you.

Yep, but what about the docs written by other devs within your project, do you want to navigate to the function the entire time? What if your only error is the order of the parameters, it can cause problems down the line as it syntactically worked but was a semantic error with the results similar enough that you wouldn't notice. Of course testing would remove help with such a problem, but it would be nicer to avoid. It's also quicker to understand someone else's code if I don't have to keep swapping between different classes, e.g. step through to definition to find out what a function does.

Usually it's the indexing that slows it down, that's why I mention it the entire time. :D

Thanks for the discussion.
 
Yep, but what about the docs written by other devs within your project, do you want to navigate to the function the entire time? What if your only error is the order of the parameters, it can cause problems down the line as it syntactically worked but was a semantic error with the results similar enough that you wouldn't notice. Of course testing would remove help with such a problem, but it would be nicer to avoid. It's also quicker to understand someone else's code if I don't have to keep swapping between different classes, e.g. step through to definition to find out what a function does.

Usually it's the indexing that slows it down, that's why I mention it the entire time. :D

Thanks for the discussion.
Yeah I know the indexing problem far too well and it not limited to Java IDEs; e.g. as any Swift programmer who has worked extensively in Xcode will know; rapid language evolution is painful. That aside Swift is still one of my favourites.

Avoiding this pain is easy if you're in an editor; these products are just far simpler constructions, hence it's easier to ensure their robustness and speed.
 
Since using a notebook with a quad core HT processor with SSD I can honestly say that I have never thought “this could be faster”.
That’s mainly why I don’t bother with VSC/atom/sublime anymore. I was a sublime text fan boy writing coffee script, but now my environments are near instant, that I don’t see the trade offs. I also mainly use Kotlin, so not using the best/de facto Kotlin development environment seems silly.

Visual studio on the other hand is glacial. Visual studio + MsTest is suicidal.
 
Since using a notebook with a quad core HT processor with SSD I can honestly say that I have never thought “this could be faster”.
That’s mainly why I don’t bother with VSC/atom/sublime anymore. I was a sublime text fan boy writing coffee script, but now my environments are near instant, that I don’t see the trade offs. I also mainly use Kotlin, so not using the best/de facto Kotlin development environment seems silly.

Visual studio on the other hand is glacial. Visual studio + MsTest is suicidal.

I still don't get VS, VS Code is so fast compared. Difficult to believe both comes from the same company.
 
There are also advantages of standardizing across a team/organisation. Team members can use another’s machine. Anyone can help anyone for example setup xdebug. The way eclipse handles workspaces vs IntelliJ modules can alter the way that people structure projects, unintentionally.
 
There are also advantages of standardizing across a team/organisation. Team members can use another’s machine. Anyone can help anyone for example setup xdebug. The way eclipse handles workspaces vs IntelliJ modules can alter the way that people structure projects, unintentionally.

Teletype (Atom)
and LiveShare (VS Code) are interesting developments as your own IDE's keybindings/macros will be used.
 
Yah, I need to look more at liveshare, heard about it a few months ago, and it sounded very interesting.

For organisations, at the end of the day the ultimate choice doesn’t matter, only consistency. Just like a style guide/ coding style, there is no right or wrong way, just our way. Don’t like starting curly braces on the same line? Tough.
 
Yah, I need to look more at liveshare, heard about it a few months ago, and it sounded very interesting.

For organisations, at the end of the day the ultimate choice doesn’t matter, only consistency. Just like a style guide/ coding style, there is no right or wrong way, just our way. Don’t like starting curly braces on the same line, tough...

Next you'll tell me you use spaces instead of tabs. :twisted:

The live share isn't public yet, invited beta is only for hosts in the US it seems. Want to use it for helping 1st and 2nd years at uni for projects, would make it easier as screen sharing consumes a lot of data.
 
Top
Sign up to the MyBroadband newsletter
X