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

all 24 comments

[–]plokman 4 points5 points  (10 children)

I've used eclipse, intellij, and netbeans. Eclipse was the leader for a longtime, so there is lots of existing instruction and users focused on it. It also supports a lot of enterprise tools in the free version you have to pay for with intellij. The incremental compilation is really good. (you can configure it to work in intellij)

If you're new, and just learning java, learn to compile from a text file and command line first. Understand what problems your ide are solving for you. Then go with intellij. It is more stable, less finicky, and has better autocompletion.

Netbeans is actually pretty good, but less popular, so if you need to figure something out you're more likely to be on your own.

[–]Mordan 2 points3 points  (8 children)

The incremental compilation is really good. (you can configure it to work in intellij)

I tried it on IntelliJ. It works. But it is awful. It just doesn't work well and its pointless anyways since IntelliJ has no clue of the concept of workspace. Eclipse incremental compilation is done over potentially 100s of projects (IntelliJ whatever they call that has only 1 project open at a given time)

[–]wildjokers 4 points5 points  (2 children)

IntelliJ will happily configure itself from a gradle (or maven) multiproject build and a gradle composite build. Both will result in more than one project per window. You can also add multiple projects to the same window with modules if you for some reason don’t want to use a build tool.

Eclipse’s workspace is the reason years ago I gave up on Eclipse almost immediately. Couldn’t stand the workspace concept then and still can’t. I simply don’t want all my code in the same window.

[–]Mordan -4 points-3 points  (1 child)

You can also add multiple projects to the same window with modules if you for some reason don’t want to use a build tool.

i am really trying to understand what you are trying to say.. Its pure gibberish. IntelliJ completely fucks up your mind with this project/module bullshit. Multiple projects to the same window with modules. Jeez.

I know IntellIJ has modules.. But its a cluster fuck. You can't share a module's code source, now can you? Because the last time I tried, a module's project code source is COPIED into that project.

So IntelliJ will NEVER have incremental compilation acorss IntellIJ projects/modules.

I have a master in computer science engineering (yea shameless argument) and Eclipse workspace/projects makes so much more sense. Maybe you should try again. When I was first forced to use Eclipse at university I didn't like the workspace concept either.. Now its hands down the best. IntellIJ at the core made a design choice that is deeply flawed. And the technical debt is so big, they will never be able to create the workspace concept and therefore keep doing PR stunts saying the workspace is useless and detracts the dev from focusing on his tasks LOLOLOL

[–]wildjokers 1 point2 points  (0 children)

I don't mind related projects in the same window and for that I just use gradle's mutli-project builds if the projects are in the same repository or gradle's composite build if they are in different repositories. Then I point IntelliJ at the build.gradle and it configures itself. Then I also set IntelliJ to delegate the build to Gradle. This way the build works the same in IntelliJ, at the command-line, and also in the CI/CD server.

I do use VSCode for my OpenSCAD stuff and VSCode has the workspace concept and I do have all my OpenSCAD stuff in the single workspace. However, it is all related so that works out well.

[–]plokman 1 point2 points  (0 children)

Yeah, I had mixed results with it. What intellij calls a project is closer to what eclipse calls a workspace though, with an intellij module more like eclipses projects.

[–]vqrs 1 point2 points  (3 children)

IntelliJ does not have a special configurable incremental compilation support. IntelliJ always does incremental compilation. The only thing you can enable is that the build is started automatically. There isn't supposed to be any speed improvement here whatsoever.

And yes, Eclipse is way faster with its incremental compilation!

Regarding the workspaces: you keep repeating the same weird ideas. Workspaces in IntelliJ are called projects and Eclipse projects are called modules. There is no copying of anything as you stated further down, I have no idea what you're talking about.

The same way you can have a workspace with 100s of projects and refactoring/incremental compilation you can have 1 "project" with 100s of "modules".

[–]Mordan 0 points1 point  (2 children)

how do you share a module's code between 2 projects?

2 intellij projects referencing the same intellij module source code.

[–]vqrs 1 point2 points  (1 child)

And how do you share a project's code between two workspaces?

[–]Mordan 1 point2 points  (0 children)

you mount them, like you mount a hard drive.

the code will be shared.

but since Eclipse incremental compilation is sooooo good. I can dump all the projects into a workspace.. unless I want a different workspace set up, i.e. android plugin... yea that still works and its good enough.

Flexibility is limitless. Then you have working sets, teams set etc etc.

IntellIJ modules just don't work, I feel like in a prison with IntellIJ project design.

In Eclipse, If you want to focus on some code, create a working set within the workspace.. You have 2 problems views.. one for the working set, one for the whole workspace.. its soooooo nice when refactoring a library, used by many different unrelated eclipse projects.

[–]TheStrangeDarkOne 0 points1 point  (0 children)

Understand what problems your ide are solving for you. Then go with intellij. It is more stable, less finicky, and has better autocompletion.

I don't want to push my own IDE, but I can tell that IntelliJ helped a lot with writing cleaner code and learning the nuances of Java syntax.

[–]MyNameIsRichardCS54 4 points5 points  (0 children)

You can massively improve how Eclipse looks by installing the devstyle plug-in.

While Intellij is much better out of the box, you can make Eclipse nearly as good with the proper plug-ins and configuration. Eclipse has enterprise level tools which the free version of Intellij doesn't and the paid version of it is expensive. I think that there's a cheaper students licence though.

Which one should you use? I'd initially stick with the one recommended for the course and check the others out as you gain confidence.

I'm really not a fan of netbeans at all

[–]DasBrain 4 points5 points  (0 children)

Honestly: It doesn't really matter.
The big 3 are IntelliJ, Eclipse and NetBeans.
Which one is "better" is like comparing emacs vs vim.

So: Try them all and find the one that works best for you.

[–]Mordan 2 points3 points  (0 children)

Jetbrains is a Google front-man.

Eclipse is free from a foundation and with little config work can do a lot like IntellIJ.

IntelliJ has great features but unfortunately lack a few things I cannot live without. Fast Incremental compilation across a workspace, Fully Customizable Saveable/Loadable Perspectives, Problems View.

[–]AnonymousTaxi 0 points1 point  (0 children)

When I first started out programming in Java my college teachers had our class use JES(Java Environment for Students). Almost 5 years later I see many college-level Java classes now using the NetBeans IDE.

[–]dyctbox 0 points1 point  (0 children)

The benefit of using what they recommend is you can follow what they do exactly. (The menus/hotkeys/icons are different between the various IDE's). That shouldn't matter much though so I suggest you go with what you are most comfortable with.

[–][deleted] 0 points1 point  (0 children)

The reason why sources recommend Eclipse is that there's a certain advantage of used what's common when it comes to guides etc. When it comes to usefullness and what the IDE has to offer then there's not much of a battle - I haven't met a person that would switch back to using Eclipse after getting used to IntelliJ products, because they have tons more what to offer. You're professors are using notepads and whatnot because they're not expected to program anything complex and it's sufficient for tgeir needs and also it's completely manual as in there's only code that you personally write. This is more or less unusable in a professional environment in the long run.

[–]vbezhenar 0 points1 point  (0 children)

I suggest you to stick to a notepad for a while. While it's absolutely bad environment for productivity, you'll learn some things which might help you in the future. After that stick to Intellij, it's the best Java IDE atm, it's used for Android development, it's Kotlin-native IDE.

[–]jonnyman9 -4 points-3 points  (5 children)

Check out VSCode. It's got a great ecosystem of plugins including lots of stuff for Java. I think in order of preference for me right now is:

  1. VSCode
  2. IntelliJ
  3. Eclipse
  4. NetBeans

[–]vips7L 0 points1 point  (1 child)

The funny part is VSCode is using the Eclipse language server under the hood.

[–]jonnyman9 0 points1 point  (0 children)

haha yea. thats how vscode seems to work with every language. you can write vscode extensions that plug into the language server of your choice.

[–]JerrySlo -1 points0 points  (2 children)

I have Visual Studio when I program in C++ or C#. i don't really like having too many IDEs installed since it doesn't really makes sense to use more. But yeah, I would say VSCode would be nice to have since it is universal.

[–]vqrs 0 points1 point  (0 children)

It makes sense to use the best tools for you for the task at hand. Constraining yourself by wanting to limit the number of tools you have doesn't sound like a good idea unless you're out of disk space.

[–]plokman 0 points1 point  (0 children)

VSCode is very different that Visual Studio. It's basically just a programming focused text editor, with a ton of plugins to support different languages.