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.
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!