NetBeans 6.0 is out: why should developers use it?

NetBeans 6.0 is out: why should developers use it?


The free software age is all about giving the freedom to choose: flexibility to choose the best out of a variety of almost-the-best software is one of the hallmarks of this era. On the flip side, a newbie to this world often faces a choice overload. Should she go for Fedora or Ubuntu or Debian, GNOME or KDE, NetBeans or Eclipse, Open MPI or Open MP or PVM? We have loyalists on every side swearing by their product--and they are not wrong. It is tough to make a choice. However, with time, based on usage preferences, a choice is made and she finds her favourite distro, development tools and the like.

At the moment, two IDEs are dominant in the free software world: Eclipse and NetBeans. Being a NetBeans fan (and part of the NetBeans community), I will explain why in my opinion it's NetBeans is a fantastic choice.

Introducing Eclipse and NetBeans

Eclipse is a project focused on building a free (as in freedom), extensible development platform, runtimes and application frameworks for building, deploying and managing software across the entire software life cycle. Many people know it as a Java IDE, but Eclipse is much more than that. The best place for more about Eclipse is of course http://www.eclipse.org

Many people know it as a Java IDE, but Eclipse is much more than that

The NetBeans IDE is a free (as in freedom) IDE for software developers. The IDE runs on many platforms including Windows, Linux, Solaris, and the MacOS. The NetBeans IDE provides developers with all the tools they need to create professional cross-platform desktop, enterprise, web and mobile applications. More on the NetBeans IDE is available at http://www.netbeans.org/products/ide/

Both Eclipse and NetBeans were primarily targeted at Java developers with C/C++ support as well. With time, however, more and more languages were supported by each.

Eclipse "Europa" now officially supports C/C++, Java, PHP; there is some external support in the form of plugins for Python and Ruby.

On the other hand NetBeans, which was released recently, supports C/C++, Java, Ruby officially among a host of other languages such as Groovy. PHP support is being worked on and Python support is on the cards as well.

Why switch to NetBeans?

Whether you are a Java or a Ruby developer, there are enough reasons to switch to NetBeans. Here are the most important ones (http://www.netbeans.org/switch/why.html):

  • Powerful GUI Builder: The GUI Builder (formerly known as Project Matisse) supports a sophisticated yet simplified Swing Application Framework and Beans Binding. Now you can build GUIs in a natural way.
  • Ruby and Ruby on Rails Support: Both native Ruby and JRuby development on Rails are available. You can switch easily between the two. The sophisticated Ruby editing capabilities make it easy to create and modify Ruby applications. NetBeans 6.0 as a Ruby development IDE has received wide appreciation from the Ruby community, with many developers blogging about their new favorite Ruby development environment-- NetBeans
  • Profiling and Debugging Tools: With NetBeans IDE Profiler tool, you get real-time insight into memory usage and potential performance bottlenecks. Furthermore, you can instrument specific parts of code to avoid performance degradation during profiling. The HeapWalker tool helps you evaluate Java heap contents and find memory leaks.
  • Support for Java Standards and Platforms: The IDE provides end-to-end solutions for all Java development platforms including the latest Java standards.
  • Service Oriented Architecture (SOA) Support: Supports SOA composite applications and tools such as BPEL, WSDL, and XSD.
  • Extensible Platform: Start with its extensible platform and add your own NetBeans IDE features and extensions or build an IDE-like application, keeping only features you want. Extending the platform and its Swing-based foundation saves development time and can optimize performance.
  • Customizable Projects: Through the NetBeans IDE build process, which relies on Apache Ant rather than a proprietary build process, you can easily customize projects and add functionality. You can build, run, and deploy projects to servers outside of the IDE.
  • Visual Web Development Support: The NetBeans IDE provides a visual environment, tools, and drag-and-drop components that simplify web page and application development.
  • Non-Java Code Support: You're not limited to the Java programming language. You can include many other programming languages, such as C++, C, scripting languages like JavaScript, Ruby, etc. Even more exciting, define your own language and include it in your projects. Check out http://languages.netbeans.org for more about working on a new language support in NetBeans.

Not convinced yet?

A NetBeans plugin is available which allows you to import your existing Eclipse projects into NetBeans and continue working from there. There is also a relatively new development, the NetBeans Community Docs sub-project EclipseToNetBeans, which is going to be the entry point to hands-on style documents showing you how to import Eclipse projects of different types,size and complexity into NetBeans.

If you are not convinced, hear some real stories of real "switches" [here](http://www.netbeans.org/switch/real stories.html).

If you are convinced, join the NetBeans Community. Find out more at http://www.netbeans.org/community/index.html

Conclusion

With this short entry, I have surely joined the great Eclipse-vs-NetBeans debate. It's a free world, and I am talking about free software: I am definitely not ashamed of my views. Bouquets and Brickbats are welcome!

Category: 

Comments

Aitor 0's picture
Submitted by Aitor 0 on

Right now, the major difference between both IDEs are Matisse, and well SOA support in Netbeans side. The rest of features are almost the same in Eclipse, and even better, for example, plugin support/development and availability.
But it is feasible that Eclipse will offer a good SOA support in a near future.

Terry Hancock's picture

It is true that a lot of people are loyal to various IDEs (though I'm reasonably sure that the universe of popular IDEs is a lot larger than just Eclipse and NetBeans -- both seem to me to be highly Java-biased, based on who uses them, and I NEVER use Java).

But I'm not sure that I see the point of IDEs in the first place.

They lock you into a small controlled environment which is highly integrated. Which has advantages. But the flipside is that you are locked into one choice (which is why there can be any concept of competing environments in the first place).

Integrating programming tasks, though, is a uniquely EASY process (nowhere near as difficult as, say, embedding spreadsheets in a word processing document). It's almost entirely about moving text around -- and that is something that any decent desktop environment will do with ease (at least I have no problems cutting and pasting in KDE or even FVWM).

So why not use the "small sharp tools" approach and just pick a great editor, a good terminal environment, and an appropriate GUI builder without concern for frameworks? I routinely use a combination of gVim, gnome-terminal, mozilla, inkscape, and/or glade under KDE (Note the lack of a unifying theme here! And of course, the choice of tools depends on the project).

With an appropriate selection of tools -- and there is a big universe of development tools out there (that being what free software is absolutely best at) -- you can, ISTM, be more productive than with any single IDE, because choosing an IDE is a form of lock-in that prevents you from always being able to pick "the right tool for the right job".

So I have to wonder, what would I be buying by trading off that freedom?

Rambo Tribble's picture
Submitted by Rambo Tribble (not verified) on

It's nice to see NetBeans getting a little praise. I have to wonder, though, where the articles are about the excellent KDevelop suite.

Rambo Tribble's picture
Submitted by Rambo Tribble (not verified) on

To respond to Mr. Hancock's inquiry from my own perspective: While I don't find IDEs particularly advantageous for straight coding, they can be a convenience for rapid prototyping.

Paulo Ferreira's picture

I've tried Netbeans 6.0 and I liked it a lot but I won't event consider leaving Eclipse for these two reasons:

1. Mylyn - http://www.eclipse.org/mylyn/;
2. Better Subversion Integration (to handle the "svn:needs-lock" property, I have to manage SVN from outside the IDE in Netbeans);

Author information

Amit Kumar Saha's picture

Biography

Amit Kumar Saha is a technical writer, researcher from India. His research interests include Parallel Computing, Commonsense Reasoning and Evolutionary Computing.