Adam Bien's Weblog

Nothing Compares …To NetBeans

I started to use NetBeans since the 5.0/5.5 version just for Java EE development. Now I'm using it for everything, even creation of websites.

"Why you are using NetBeans?" I get this question a lot if someone didn't seen NetBeans in action. After a quick NetBeans demo I get the next question: "Which plugins, extensions are you using?"

80% of my time I'm working as contractor / freelancer and I could choose whatever IDE I like to accomplish my tasks. I used Visual Age, Sun Java Workshop and Sun Java Studio, VisualCafe, was a JBuilder and Eclipse fanboy. I also tried Metrowerks CodeWarrior (mainly because of the name :-)). I also started with IntelliJ early (~2002) and have a commercial IntelliJ license. In 2001/2002 I wanted to switch from JBuilder to something new and tried NetBeans. I hated the whole IDE. NetBeans felt alien and suspect. I waited a few releases then re-evaluated NetBeans again...

Since ~2006 and NetBeans 5.5 I'm using NetBeans almost exclusively. I switch occasionally to other IDEs "just for fun". The reasons for my NetBeans usage didn't change a lot in the last few years:

  1. Code centric approach: I do not have to use wizard for Java EE development. I can concentrate on code and generate snippets on demand.
  2. IDE independence: I my early Java projects we spent a considerable amount of time to migrate projects from one IDE to another. Sometimes this task evolved to a real project. Code created with NetBeans is not dependent on NetBeans. IDE-independence is paramount in my projects: every developer should choose an IDE she likes.
  3. Good Maven integration: NetBeans uses Maven as primary build tool. You get exactly the same result as from command line. Either NetBeans builds something, or not. This is not always true with the other IDEs :-).
  4. Maven "on save" deployment: works most of the time an saves a serious amount of time.
  5. Don't Make Me Think usability: You don't have to remember lots of strange keybindings to accomplish basic tasks. You can achieve 80% with ctrl+space and alt+enter (quick fix). Advanced users sometimes click on ctrl+i (mac) or alt+insert (win)
  6. Installation is matter of download + double click. Sometimes I install NetBeans daily builds just to checkout new features.
  7. Productivity: Everything you need for mainstream development is integrated. The only plugin I installed in recent years was: markdown plugin. The less you have to extend your IDE, the more interoperable your project gets. I probably saved weeks of my time not having to search for plugins.
  8. Pragmatic new features: NetBeans engineers are constantly searching for pragmatic new features. With NetBeans you can switch between a class and a unit or integration test, create persistence.xml or beans.xml, check your JPA QL syntax with auto-completion, profile and debug your application and application server without having to install anything.
  9. No hassle installation (important for workshops / trainings): I'm using NetBeans in my workshops and let the attendees to install it. The installation is completed in minutes on different operating systems without any problems. In fact I cannot remember any installation problems with NetBeans so far.
  10. JavaDoc: Java EE APIs are already associated with JavaDoc
  11. Java FX support: NetBeans integrates well with Scene Builder and FXML. Also NetBeans helps you to visually debug Java FX applications by displaying the component hierarchy layout properties.
  12. SCM integration: GIT, Mercurial and SVN support comes out-of-the-box.
  13. HTML 5 integration: NetBeans comes with editing support for HTML, CSS (also SASS and LESS), JavaScript. You get syntax highlighting, error hints, preview, browser integration GIT integration and formatting without any plugin. For that reason I switched from commercial tools like Coda 2 or Espresso to plain NetBeans.
  14. Bug tracker integration: NetBeans comes with Bugzilla and JIRA integration out of the box.
  15. Bug management: in case NetBeans gets a problem it prepares a bug report for you. If you submit it, you will be noticed in a few seconds whether it is duplicate or not.

If you also converted to NetBeans, please write comment. I'm curious about your opinion.

Also in all my screencasts: http://tv.adam-bien.com [subscribe at youtube] I used NetBeans, so you can see it in action there.

See you at Java EE Workshops at MUC Airport -- I will of course use NetBeans. We often don't even have a time for a lunch, so who would like to waste time for plugins and installation? :-)


NEW workshop: Microservices with Java EE 7 and Java 8, January 26th, 2015, Airport Munich

A book about rethinking Java EE Patterns

Comments:

I started using eclipse in 2001. While it was a little time consuming to setup, I got really frustrated by the hassle with plugins. Not only was it necessary to download tons of them, but if you wrote your own, they broke with the next eclipse version.
I came to NetBeans with version 5.5 and I never look back. It's so much more clever, because the engineers have the programmers needs in mind, when they integrate new stuff.
It's a big shame many commercial products use eclipse as a platform. JBoss, Spring, ... could improve a lot by basing their studios on NetBeans.

Posted by Claus on September 23, 2013 at 11:10 AM CEST #

I've been using NetBeans from 3.6 release. I've actually seen it first when it was still called Xelfi. :)
I've tried various IDEs (Eclipse, IntelliJ, JCreator, JEdit, ...), but didn't like the GUI, lack of plugins in the standard distribution, .... Of all I tried JCreator was the best, since it is small and fast for some quick editing.

Posted by Kovica on September 23, 2013 at 12:38 PM CEST #

Same for me. I'm developing Java since around year 2000. Nine years without any IDE. First was FC commander (Norton Commander clone) under OS/2 with ANT. Then FAR manager under Windows again with ANT. For the last four years I use NetBeans with Maven. Tried Eclipse in the project where everybody was working with Eclipse. More flexible and more configuration hassle. It took days to setup and weeks to make Eclipse work fluent. Too much fiddling with IDE. Too many features that I never used nor do I plan to. Too many plugins of medium quality. In a current project we use Maven: one developer uses IntelliJ, two use Eclipse and five use NetBeans. Out of five NetBeans users three were fans of Eclipse. I do not say NetBeans is the best - any tool will shine in a hands of experienced developer. But when things come down to simplicity, NetBeans is hard to beat. Let's not forget concise NetBeans tutorials.
Once I was asked for help: one lecturer wanted to presented simple WebService sample for his students with little knowledge of programming. I recommended to do it in three steps:
1. Install NetBeans
2. Start WebService sample project
3. Run server and client

And yes - still few junior developers consider NetBeans as their first IDE.

Posted by Saulius on September 23, 2013 at 12:43 PM CEST #

I also tried visualage, visualcafe etc and I also dismissed the early NB. I used elipse for approx ten years but when i was obliged to use Maven I had so many problems that I looked for something else, I tried NB and never looked back. I've been using NB now for 18 months and I wouldn't dream of going back to eclipse; I also run plugin-free.

Posted by Steve Lindsey on September 23, 2013 at 02:22 PM CEST #

I switched from Eclipse to NetBeans by the time of the 5.5(6.0?) release in 2006/2007, and never looked back.

Basically I got tired of the dual book-keeping of classpaths required with Eclipse when working with Maven projects and the myriads of incompatible plugins (eg once you found a major.minor version of an XML editor that you liked, you discovered that it wasn't compatible with the major.minor version of the SVN plugin you needed, etc). With NetBeans, everything "just worked" out of the box - the .pom file IS the project file, and no plugin hell.

Best real life story? I was working for a company in Italy where the other teams were using Eclipse and they could spend a full week (or more) to set up the project on their local machine, fiddling with plugin versions and what else. In my project I enforced NetBeans and Maven. We could have consultants arriving on Monday morning and returning to Milan on Tuesday evening to continue to work from a distance. Thanks to NetBeans, consultants already had their first code modification checked in before lunch on Monday which allowed us to use the rest of Monday and Tuesday to discuss the problem domain and development roadmap instead of fiddling with the development environment. (Workflow: "check out the code, start NetBeans, and browse to the directory where the .pom file is located. Press F11. Congratulations, you have just made your first build!")

Long live NetBeans! :)

Posted by Mikael Carneholm on September 23, 2013 at 03:03 PM CEST #

I recently downloaded NetBeans, but I have not used it yet for development. I use eclipse, but I am considering trying NetBeans.

I have to be honest, many of the comments above about NetBeans, I feel also apply to Eclipse. Git and Maven work out of the box (if you download the EE version).

It takes me less than 30 minutes to set up Eclipse and be ready to start work. That said, I do have to install some plugins.

The way Eclipse builds Maven projects differs from when you build from the command line, which I find irritating. I think this is where your comment in point 3 comes from.

Alt+1 and Ctrl+space also gives you all the autocomplete and quick fixes you need in Eclipse.

As for productivity, I would say I am productive in Eclipse. I often see people who fumble around with the mouse in Eclipse, which I would find unproductive.

Until I use NetBeans, and learn the shortcuts, I can't compare directly to Eclipse. I will start using NetBeans for my home coding, so I can be more objective.

Posted by Chris Ritchie on September 23, 2013 at 05:50 PM CEST #

I am a long time eclipse user and really like the look and feel of eclipse. Everytime I open Netbeans I feel pushed back years regarding user interface design (icons / dialog layout). Nevertheless I started to try Netbeans when they introduced HTML5 project support. This is really great and helped me a lot.

After this positiv experience I even tried to use Netbeans for Java projects. I also suffer from the painful maven integration in eclipse and hoped this would be better in Netbeans. As far as I see Netbeans does quit well here (even if I did not find out how to disable the dependency resolution which always resolves the dependencies in the open projects instead of using repository artifacts). But I really miss some eclipse concepts I got used to over the years in Netbeans. The possibilities to organize projects in eclipse is awesome (workspaces/working sets) - in Netbeans I have flat project groups and need to change my user directory when calling Netbeans to get another level of grouping. I even can not close a project in Netbeans without the effect that it disappears in my project group. And as a developer who always enables the visibility of non printable characters Netbeans even does not very well as it is not possibly to give these characters all a lighter style (at least I did not found this option for CR). And regarding the plugins - hey, I have to install a plugin in Netbeans to get the possibility to copy full qualified names (which I often need for documentation) ;-)

At the end I switched back using eclipse for Java projects.

But I would not say that I do not like Netbeans. I love the HTML5 project support and use it for these kinds of projects. I even would recommend it to Java beginners because it might be easier to start with (when you are not use to something other what makes switching always some kind of hard). Of course it might be also useful for experts (@Adam). ;-)

At the moment I feel that it is an advantage of knowing two tools (at least parts of them) and to be able to use the best one for a given task. So I like them both and want to THANK both teams for their work! Keep it up!

Posted by Franz van Betteraey on September 23, 2013 at 05:51 PM CEST #

I recently downloaded NetBeans, but I have not used it yet for development. I use eclipse, but I am considering trying NetBeans.

I have to be honest, many of the comments above about NetBeans, I feel also apply to Eclipse. Git and Maven work out of the box (if you download the EE version).

It takes me less than 30 minutes to set up Eclipse and be ready to start work. That said, I do have to install some plugins.

The way Eclipse builds Maven projects differs from when you build from the command line, which I find irritating. I think this is where your comment in point 3 comes from.

Alt+1 and Ctrl+space also gives you all the autocomplete and quick fixes you need in Eclipse.

As for productivity, I would say I am productive in Eclipse. I often see people who fumble around with the mouse in Eclipse, which I would find unproductive.

Until I use NetBeans, and learn the shortcuts, I can't compare directly to Eclipse. I will start using NetBeans for my home coding, so I can be more objective.

Posted by Chris Ritchie on September 23, 2013 at 05:58 PM CEST #

I used netbeans since my college days, now I work as a java developer and I still use netbeans. I tried eclipse but I never liked it. netbeans is simlpy the best.

Posted by dexter on September 23, 2013 at 06:25 PM CEST #

I was a early Netbeans user back in 2001 and i loved it, being far superior to VisualAge.
The I must admit I moved to Eclipse during the ant build transition, even if I felt ill at ease on it.
Eclipse kept on the wrong path with unstable modules, bad maven support, ... so I moved back to my early love with Netbeans 6 and I've been developping since then on the nightly builds ;o) Which tells a lot in terms of stability.

Posted by ehsavoie on September 23, 2013 at 06:29 PM CEST #

I think you guys have said it all. So, my comment is a bit more on the humorous side.

Eclipse Advocate - A Java Developer who has never used NetBeans.

Posted by lionel on September 25, 2013 at 05:52 PM CEST #

It's always maven support that drives me away. I have to intentionally add exclusions for dependencies that are somehow transitively resolved by eclipse, but in ever needed to do that for the same project in netbeans. So I've gladly gone back.

Posted by Ede Morny on September 27, 2013 at 01:37 AM CEST #

the author says about the things that have long been in the other IDE, for example - in IDEA.

Posted by Prog on October 09, 2013 at 08:20 AM CEST #

Well, for a eventual java programmer, that want to write simple jsf or servlet... I have many problems with libs, paths, "unsolvable" fantasmagoric erros and many issues... that take more time to solve that develop itself.... For php use, its great ide... for debug php too... but, for java(and like) I say: netbomb... :)

Posted by Leonardo on October 10, 2013 at 05:50 PM CEST #

Dear Adam,
would you please compare NetBeans with IntelliJ IDEA (ultimate edition)? I know that this may not be a fair comparison, but I think your opinions will help many serious developers to decide whether a licensed version of IDEA is worth it or not.

Posted by Arash on October 15, 2013 at 02:45 PM CEST #

NetBeans is brilliant. Never have any problems with it. It just does what I need without needing anything else.

Posted by Steve on November 15, 2013 at 02:32 PM CET #

Great post about NetBeans. While I first became familiar with eclipse, i chose NetBeans about a year ago and won't replace it anymore.

It's a great IDE that almost integrates everything a normal java developer needs.

In my opinion, work with NetBeans is a lot more comfortable than with eclipse.

Posted by Dmitri on November 15, 2013 at 11:33 PM CET #

I'm not a Java dev, but fighting with HTML projects: PHP, JS, CSS, etc., just the usual stuff.
Struggled with medium sized projects in Eclipse (30-50 PHP files, 3-6 CSS, some of them +6000 lines, 8-10 JS) many months long. Syntax highlighting in CSS files (especially in bigger ones) sometimes worked, sometimes didn't, experienced a hell lot of 'slowing-down'. I couldn't move even the carret, and just dreamed about to scroll down/up using PageDown/Up!
Opening projects like this taken 2-3 mins (4 Core, 3GHz proc, 8GB RAM)... then looked at NB: opened the same project within 3 secs, no 'slowing-down', working nicely in CSS files even with +10k lines. Hey! Said shortly bye-bye Eclipse/Aptana + that bloated, unorganized bunch of plugins for ever.

Posted by Heyho on November 19, 2013 at 01:00 AM CET #

I mainly program in PHP/Javascript/C++ and for me till date nothing even comes close to Netbeans.. A few month ago i wanted to try out Eclipse just for fun and after using it for five minutes it gave me a chronic headache, and i promptly went back to my beloved IDE Netbeans. Same thing happened with IntelliJ . And with ver 7.4 Oracle has really overhauled the whole package. Long live Netbeans !!!

Posted by Maxx Thordendal on December 30, 2013 at 01:49 PM CET #

Currently fighting with Eclipse on a large project that unfortunately uses custom plugins. The build system is awful - Eclipse wants to do things its own way, contrary to the underlying Maven setup. Frankly, any IDE that ties you to its own piss poor build proprietary build system should never be considered for any project in the first place. That's even before you get onto how buggy and slow Eclipse is. I thought the justification for the use of SWT was speed? In practice, it's a terrible GUI toolkit with bizarre and unintuitive behaviour.

Somewhere I read a great comment about Eclipse:

"It's a second rate application framework which comes with a third rate, proof of concept IDE."

Posted by Chris on January 09, 2014 at 01:19 PM CET #

Adam, I agree with you on the comparison. I work on a team where we support new and legacy systems.

We have to switch between apps which use all or most of the technologies you can possibly think of.

The developers went nuts. As trends came they jumped on the wagon.

All the different App servers and Web container with their own JSR implementations! Man it drove me nuts.

Then there were the guys who went for Daimons and Services and Com Plus and what ever the hell else they could read up on to impress.

The write once run everywhere principal does not even work in the Java world between the different servers.

This makes IDE's a nightmare because of the project facets, settings, preferences which we find stored with project.

Include in this the Maven and Non-Maven, Custom Ant, IDE specific, and self-proclaimed Guru Built scripts out there, etc...

Suddenly the desire to standardize on some platform becomes overwhelming.

I have standardized on NetBeans with Maven. Converting these projects make it possible for all the other IDE's the guys use to simply import and code.

Every now and again someone would try to convince me of some great feature in their now new favorite IDE and with a few quick lookups I can show them the same stuff in NetBeans.

As far as plugin are concerned I think the surprise is on the end of the scoffer. So fart I have been able to get plugins for everything not default in NetBeans.

The community is definitely active and growing.

Geertjan makes excellent demo's by the way.

And YouTube is flooded with project guides.

Posted by Marius Snyman on April 24, 2014 at 08:41 PM CEST #

Post a Comment:
  • HTML Syntax: NOT allowed
realworldpatterns.com
...the last 150 posts
...the last 10 comments
License