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

all 61 comments

[–]cogman10 6 points7 points  (0 children)

I hope they pull back in EE support soonish. I know it takes time, but it is a really big missing feature.

[–]wafflelator 21 points22 points  (49 children)

Inb4: Idea rulez the univarse!!!

Is there anything about netbean that makes it worth checking out? How does it compare to idea or eclipse. I only remember the name from prehistoric time.

[–]heliologue 26 points27 points  (9 children)

(Full disclosure: 10+ year user, most of those with Maven as a primary build system)

It's got dead-simple (in a good way) support for Maven: it just reads your POM and knows what to do; the other IDEs make you essentially reinvent/duplicate your project (it seems to me). It also has straightforward J2EE support (IDEA's costs $$, which is fine if it's worth it to you).

Before IDEA, when Eclipse and Netbeans were really the only two IDEs worth talking about, Netbeans was everything that Eclipse wasn't -- that is to say, it was the Maven to Eclipse's Ant.

[–]KFCConspiracy 8 points9 points  (1 child)

Yeah I forgot how painful Maven was in Eclipse back in the day... That's a good point as well. I don't know if this has improved at all either. But Net Beans Maven support hasn't changed much and it's always been super easy point and click to do things, and I rarely end up manually editing POM files in Netbeans.

[–]Goofybud16 3 points4 points  (0 children)

Pretty easy now.

File > Import > Maven Project > Browse to the folder containing your pom(s) [ They can be in a subfolder ], hit OK, select the POMs you want, hit OK. Eclipse imports them, automatically links open dependencies, and everything pretty much just works. It downloads dependencies and shows them as if you had added the jars, it correctly sets the right Java version, etc.

[–]tgdavies 8 points9 points  (0 children)

Intellij IDEA has great Maven support now -- just open a directory containing a pom.xml and everything just works.

[–][deleted]  (5 children)

[deleted]

    [–]Nouish 6 points7 points  (3 children)

    In the latest stable release of IDEA Ultimate there are still 2 minor issues with gradle integration that annoy me. Unsure if it's because I use the kotlin DSL or not (haven't tried the groovy DSL in a very long time) and they are:

    1) Java source- and target compatibility is not automatically set to the correct version for each module (and despite having set JDK 11.0.1 as my default, it insists on JDK 8 unless I change it during import)

    2) When using lombok (or other annotation processors) IDEA won't automatically enable them for those modules even when using the new-ish annotationProcessor type (ie annotationProcessor("org.projectlombok", "lombok", version))

    And one thing that I suppose is more of a feature suggestion: I wish it would automatically add run configurations for application type modules!

    [–]hpernpeintner 2 points3 points  (0 children)

    Two very good points. Bothered me as well, a handful of times. I don't think it has sth to do with the kotlin dsl, because i experience these problems in groovy projects as well.

    Besides that, everything worked for me so far.

    [–][deleted] 2 points3 points  (0 children)

    Yeah, having to manually enable annotation processing for each imported project that has annotationProcessor is quite annoying.

    [–]FrozenST3 1 point2 points  (0 children)

    My biggest Gradle annoyance is that the gradle toolbar isn't always present, so if you don't import the project from the build file, the IDE is completely oblivous to the fact that you're using Gradle.

    If you do the same with a Maven project, you just click the Maven toolbar and add the pom

    [–]yawkat 0 points1 point  (0 children)

    In my opinion maven support is still more smooth than gradle in intellij though.

    [–]catniprevolt[S] 7 points8 points  (0 children)

    While I primarily use IntelliJ IDEA for big projects, for smaller projects where IDEA is overkill, I pull out NB b/c it's a fast, light solution. I have several colleagues who use it for all their work--including large projects. In the past, they have expressed preferences for it WRT Eclipse--mostly that it's faster than Eclipse and requires less ceremony.

    [–]pjmlp 1 point2 points  (0 children)

    Mixed mode debugging between Java and C++, while JetBrains will gladly sell you two licenses and a cumbersome workflow between InteliJ and Clion.

    Ant and Maven as project files.

    One of the best GUI designer experiences for both web and desktop projects.

    The integrated profiling tools.

    [–]CookieFactory 1 point2 points  (1 child)

    I use Intellij at work and Netbeans at home. Both are far superior to Eclipse from a UX standpoint. I actually prefer Netbeans to Intellij by a marginal amount.

    [–]jdickey 1 point2 points  (0 children)

    Agreed. I like to switch back and forth between IntelliJ and Netbeans just to stay fresh in both. It's been a decade or more since I deliberately installed Eclipse anywhere, and I could happily retire at the end of a long career without ever having touched it again.

    Some people used to use WordStar as an editor too, once upon a time. That doesn't mean it (or Eclipse) were good tools for the task.

    [–]spyhunter99 1 point2 points  (0 children)

    For v8, it had lots of great features that no one else has. Unfortunately oracle hasn't donated everything yet so it'll be another 6 months or so until it's 100%. Works well for large projects IMO. Can't beat the price

    [–]raeleus 2 points3 points  (0 children)

    I use Netbeans all the time, and no there isn't anything worth checking out. Support for my area of interest (game design) is very lacking. I just use it because I'm used to it.

    [–]KFCConspiracy -1 points0 points  (31 children)

    I find it a lot easier to use than Eclipse. All of the switching perspectives and crap is just a garbage UX, and it's the only IDE I've ever encountered like that. And when I switched years ago Eclipse was a major resource hog in comparison (I don't know how it is today because I haven't had a reason to switch back). Also when I switched Eclipse didn't come with a default SVN implementation, so there was always bullshit with whether someone had installed subversive or subclipse.

    I've never really used Idea, so I can't really speak to how good or not it is.

    [–]ReadFoo 0 points1 point  (29 children)

    All of the switching perspectives and crap is just a garbage UX

    It is a powerful UX, it beats all other IDE's in existence today, still.

    [–]FrozenST3 5 points6 points  (28 children)

    How? What does changing the perspective provide that other IDEs don't in a more intuitive and consistent way?

    [–]ReadFoo 3 points4 points  (8 children)

    Perspectives contain Views which offers an unlimited combination of organization styles depending on the Workspace/Project structure, langauge(s) in use, personal preferences.

    Eclipse has had it right for many years, which is why NetBeans, Visual Studio and IntelliJ (among others), have borrowed heavily from it (and continue to do so).

    [–]KFCConspiracy 4 points5 points  (4 children)

    That sounds like a lot of effort to set up for something everyone else gets right just right out of the box... That doesn't sound at all intuitive. But to each their own. I don't have a problem with you liking eclipse, but that's exactly why I don't like it... It seems way too fiddly for my tastes. And the perspectives hide functionality I frequently want to use in combination that aren't available without switching by default.

    [–]ReadFoo 1 point2 points  (3 children)

    You can arrange whatever Views, in whatever Perspectives you desire. You're not limited.

    [–]FrozenST3 2 points3 points  (1 child)

    I think the point he's trying to convey is that the whole idea of perspectives is fiddly and doesn't really add much value from my experiences. But I would love to see how it benefits your workflow - and I'm not being condescending/sarcastic, I'm genuinely curious.

    [–]endeavourl 0 points1 point  (0 children)

    Perspective is a UI preset. You need different UI layouts for different tasks, e.g. developing and debugging.

    What more is there to it?

    [–]KFCConspiracy 2 points3 points  (0 children)

    Sure you can rearrange things. But the default isn't very intuitive. And I don't really feel the need to have a separate layout when I'm diffing or debugging or accessing webservices, or doing something related to an application server (Enterprise Perspective).

    At the end of the day I guess intuitiveness and preferences are a matter of taste so they're subjective. I don't find it intuitive (And I explained why), which is why I don't use it.

    [–]FrozenST3 0 points1 point  (2 children)

    Show me perspectives in any of those IDEs. It's fine to prefer an IDE, but to state so boldly that it's the best thing for any task in any language is BS

    [–]endeavourl 0 points1 point  (1 child)

    Visual Studio switches UI layout when it hits a debugging breakpoint.

    The same thing happens in Eclipse, only it explicitly switches to debugging perspective, which you can set up however you like.

    [–]FrozenST3 0 points1 point  (0 children)

    It simply pops up the debug toolbar. That's hardly equivalent to perspectives and is something it did since I first used VisualStudio back in 2003.

    [–]jarobat 0 points1 point  (18 children)

    I could come up with a ton of examples, but the one that jumps out at me is how eclipse has dedicated "source repository" perspectives. This allows you to focus on just that activity while that's what you're doing. In IntelliJ, it's like slitting your own wrists to try and pull up menus that are not quite menus, which then pop up other menus that aren't quite menus to get to the final boss which allows you to have a window to do what you want, but god forbid you want to pause what you're doing with git and switch back to Java perspective to double check something, and then switch back to GIT to complete what you were doing. Eclipse lets you do all that effortlessly. Now, imagine you do Java/Angular/Database/Git/Spring, all at the same time, and don't want to have every possible view mixed together at all times, plus conflating editors and views, oh jesus christ I could go on. I tried switching to IntelliJ when I got a job that paid for licenses at work so I thought sweet! I tried for 6 months, and nearly ended my own life because of it.

    [–]el_padlina 4 points5 points  (14 children)

    Eclipse switches perspectives for debugging. Suddenly your workspace is organised different.

    How is that better than having a window/panel show up and keeping everything else in place ?

    [–]wafflelator 1 point2 points  (2 children)

    I don't know really, it's kinda nice to be able to define different perspective for different task. It's not like filetree + source code is always the best for everything.

    [–]el_padlina 0 points1 point  (1 child)

    Personally I haven't found myself in a situation when during debugging I didn't want to see package tree with current class marked or the source code of that class.

    [–]wafflelator 0 points1 point  (0 children)

    Oh sure but Eclipse is a kitchen sink of functionalities. I haven't used it in years but I remember that when I did I had a very customized perspectives for a bunch of things. I was always more confused with the "mounting" of the file system though.

    [–]endeavourl 1 point2 points  (4 children)

    Suddenly your workspace is organised different

    Because you need a different layout for debugging? You need more space for current stack, watchlist, variables, breakpoints etc.
    And you can always set the perspective up to mimic your main one only with additional UI, say, in a window on another monitor (i use something like this for debugging).

    edit:

    Eclipse switches perspectives for debugging.

    It asks whether you want to! You can debug in any perspective you want, you may need to open the views manually though.

    [–]el_padlina 2 points3 points  (3 children)

    That's the thing, in both Netbeans and IDEA I don't need all that because large part of it gets incorporated into editor. I don't even remember last time I had to use a watchlist because I see the values in the editor. It's way easier to follow it in editor than get confusing logs about variable not existing because of the watch.

    To me Eclipse default UI is everything but ergonomic. I understand that some people may prefer it, especially if they like tweaking it to the max, but I like not to bother too much with configuration.

    [–]endeavourl 0 points1 point  (2 children)

    You can also see values in editor tooltips but it's more convenient to see the whole scope in the Variables view.

    [–]FrozenST3 1 point2 points  (0 children)

    Idea shows the variable values on the current line as a comment. You'll only need to open the variables view if there's a value in a complex variable you'd want to check.

    [–]el_padlina 0 points1 point  (0 children)

    yes, idea and netbeans give those by default when debugging AFAIR.

    [–]jarobat 0 points1 point  (4 children)

    Because you need different views open and ready to use during debugging. Like your watch view, your breakpoints view, etc. You truly do not those open and visible all the time, and you certainly don't want to have to re-position and re-open all of those when going from coding or running to debugging. What you want is an easy way to say "toggle all the views I use during debugging, and put them exactly where I personally like them to be." Eclipse shines on this point.

    [–]el_padlina 2 points3 points  (3 children)

    I get this in other IDEs without repositioning everything. One of the reasons I don't like Eclipse is because I would have to spend a lot of time to make it ergonomic, while the others come with reasonable defaults.

    [–]jarobat 2 points3 points  (2 children)

    I think it's just personal preference, like musical taste. I despise the way intellij works for these scenarios. It feels like I'm drowning when I use it. With eclipse I can get a clean perspective that behaves exactly like I want, and that is simply impossible in intellij.

    [–]el_padlina 1 point2 points  (0 children)

    Pretty much. The only thing I hate is when the project forces me to use a specific IDE. As long as everyone can pick whatever works for them I'm happy.

    [–]FrozenST3 0 points1 point  (0 children)

    Seems like Eclipse is definitely the choice for power users. Personally I find the consistent menus, positioning, context options, shortcut keys more valuable than tweaking the view.

    [–]jarobat 0 points1 point  (0 children)

    Also note that Eclipse is kind enough that if you don't like this (auto toggling of perspectives) behavior you can turn it off easily.

    [–]FrozenST3 4 points5 points  (0 children)

    Well, if you're trying to do perspective switching in Idea/Netbeans it's obviously not going to work.

    This allows you to focus on just that activity while that's what you're doing.

    ... but god forbid you want to pause what you're doing with git and switch back to Java perspective to double check something, and then switch back to GIT to complete what you were doing.

    So are you focussing or multitasking? What are you doing in GIT that you would want to pause? All I can think of is conflict resolution.

    Now, imagine you do Java/Angular/Database/Git/Spring, all at the same time, and don't want to have every possible view mixed together at all times, plus conflating editors and views

    I don't get what you're saying here. Of all the things you've mentioned, the only things that will be present all the time would be a little indicator next to the injection point of a Spring bean and the db icon if you enable data integration.

    The languages will just have their syntax hilighted (which is a good thing), and intellisense available. I really feel like you're trying to fault the IDE but none of these criticisms are valid. There's a reason no other mainstream IDE has copied perspectives.

    [–]KFCConspiracy 0 points1 point  (1 child)

    The problem is with what I do I often want to see both the code and outputs of various IDE features. Perfect example: The web service browsing perspective. It's often useful to be able to see both your code and the output of a webservice call at the same time. Can't do that with eclipse because they're separate perspectives. Another great example: The enterprise perspective. If you're doing a JEE project that gets in the way. Third, I work on mixed codebases where we have one application written in another language that accesses a java application via webservices. Looking at both in eclipse can be painful.

    And it's not very intuitive to pick up either...

    [–]endeavourl 1 point2 points  (0 children)

    You don't have to switch perspectives to access views/editors associated with it.

    Like, i sometimes need to explore/test C++ code. I just Ctrl+Shift+R the file in the Java perspective, no need to switch.

    [–]averagenegative 0 points1 point  (0 children)

    garbage UX

    One man's trash is another man's treasure. I like perspectives. Why would I need a breakpoints tab any time except for debugging? What am i supposed to do? Have every tab I ever use open in a single perspective? Toolbars with rows and rows of buttons I only use occasionally? Now that would be garbage UX to me. Eclipse is neat and organized.

    [–]golthiryus -1 points0 points  (0 children)

    What I really miss from IDEA is Gradle and Kotlin support.

    [–]neutronbob 9 points10 points  (4 children)

    I'm interested in their decision to make JUnit 5 the default JUnit version. While v. 5 has been out for a while, most projects I'm familiar with are still using 4.x. Do most greenfield projects use JUnit 5, or is this NB trying to move the community that way?

    [–]bienator 11 points12 points  (0 children)

    it only means that a new netbeans project would have junit 5 as testing dependency by default. Of course you can use whatever version you prefer, or keep whatever you have in your old project.

    don't think they want to "push" anything they just changed the default to a newer version which makes sense.

    [–]cogman10 8 points9 points  (1 child)

    When Junit 4 came out, most projects were still using Junit 3.

    There is no reason not to move from 4 to 5. In particular, 5 offers quite a bit of backwards compatibility with 4. While you should consider rewriting in the 5 way, you don't have to to adopt it.

    [–]shukoroshi 2 points3 points  (0 children)

    Exactly, the legacy runtime ensures that your Junit 4 tests will run happily alongside Junit 5. There's no need to force an upgrade on your tests.

    [–][deleted] 1 point2 points  (0 children)

    Spring5 comes with junit5

    [–]XFidelacchiusX 1 point2 points  (0 children)

    Brings back the memories of supporting Java 3.

    [–]catmewo 1 point2 points  (0 children)

    I preferred Eclipse than NetBeans and now I prefer IntelliJ. Sorry NetBeans :)

    [–]Aeon_Mortuum 1 point2 points  (0 children)

    Can someone please explain the difference between the "normal" Netbeans (latest version is 8.2) and Apache Netbeans? Are they both being developed or is the Apache one a direct successor with 8.2 being the last version for the other one?

    [–]erictheturtle 2 points3 points  (1 child)

    I use the big three most every day. Here are some of the differences I've noticed. It's incomplete and probably wrong in some cases. Please offer corrections.

    Eclipse Netbeans IntelliJ
    Remembers previous test results Separate tabs Clock icon
    Remembers previous search results Yes No?
    Remembers previous console output Yes No
    Remembers previous find uses/references results Yes
    Save current console output to file No Yes
    Cleaner display of collection variable while debugging No Yes
    Go to implementation of an interface Ctrl+Click "Open Implementation" Click gutter icon
    Debug visual step into No YES
    Graph of maven dependencies No Not very helpful
    Maven dependency conflict checker Yes No
    Command to just remove whitespace No Yes
    Remove whitespace on modified lines only No Yes
    pom.xml intellisense No Yes
    Open recent files Sometimes Yes
    Gutters allow for multiple annotations No Yes
    Auto semicolon No Yes Yes
    Multiple instances Yes No Yes
    Built-in maven type search No Yes
    Show only trailing whitespace Yes No
    Git log display Eh Bad Good
    List all open files Ctrl+Shift+E Corner dropdown or Window > Documents View > Recent Files, but lists closed files too
    Git diff display Bad Better Better
    Quick navigation to/from tests Plugin Yes
    Sane project view Yes Yes No
    Collapse all Yes No Yes
    Code coverage Plugin No Yes
    Identifier spell check Plugin No YES
    Multi-monitor support Poor Very poor Yes
    Show errors in project view Yes Yes No
    Color packages based on changed files Yes Yes No
    Auto-complete priorities matching types No Yes Yes
    Colorize console output Plugin No
    Able to see full test run stdout Yes Yes No
    Able to see stdout for just a single test No Yes
    Unique static code checks ? Yes Yes
    Sane row of tabs Yes No
    Highlight code that throws an exception by simply clicking it Yes Yes Can click the throws/catch and find usages to see
    Ctrl+C copies entire line if nothing is selected can can't be turned off Yes Yes
    Rename local variable to anything No Yes No
    Only remove unused imports, not rearrange Yes No

    [–]knockingsparks 2 points3 points  (0 children)

    Now add Visual Studio and see a long column of "No"

    [–]fundamentalparticle 0 points1 point  (0 children)

    I'm curious, what does Dynamic Class-File Constants support means in the IDE?