Stephane’s thoughts corner…
Stephane Bailliez's thoughts on everything

«« Eurotunnel debt explained | Fair trade Software Development »»

May 21, 2006

NetBeans

Filed under: Software — stephane @ 9:21 pm

A report from JavaOne

Two NetBeans core developers had a session on How to Write APIs That Will Stand the Test of Time which was as disappointing as I expected it would be. I sometimes wonder how people have the guts to stand in front of 500 developers and talk about trivialties like they did.
[...]
Netbeans remains as uncool as it has always been, no matter how hard Sun tries to shove it down your throat. They take the route of Wizards, Drag&Drop, Code Generation, etc. and it will be interesting to see how far they can go with this approach regarding development and maintenance of mission-critical enterprise applications.

I installed NetBeans 5.5EAP some time ago and really need to get into it. I was interested to see how the UML and Profiler module stand. Now that Sun managed to understand somewhat that it did not make sense to create 3 IDEs (Creator, NetBeans, Studio) maybe it will get somewhere !

What I can say already from basic superficial use:

  • Creating a new project is totally inflexible. Assuming I have a folder populated with some docs or basic empty directory to structure the project. NB will simply refuse to create a project here, because “the folder is not empty”.
  • The creation project wizard does not even ask what directory structure you even would think about and it blindly creates a src and test directory. Once the project is created you have to remove them from the projects and add new one.
  • A NB project is polluting your workspace with a highly visible ‘netbeans’ directory.
  • A NB Java project is tighly integrated with Apache Ant. A generic build file with default properties is created initially. It is extremely unusual at first as there is no possibility of changing anything (such as the name of build directory) from the IDE. You have to go to the ‘netbeans’ directory (in every NB project…) and change directly the properties.
  • Obviouslly, you work the NB way or you’re not.
  • The NB VCS design is … unusual. There is no abstraction layer at all and for instance, after installing the subversion module (not a default in NB5.5). You find yourself with both cvs and svn menus in your project. I cannot find any sense for this except a NB design flaw, a project is associated to a single VCS, not 2 or 3 of them at the same time, right ?
  • NB settings can be changed via the options. As a default it is in ‘basic mode’ which show you nearly nothing, until you realize there is effectively a ‘advanced’ mode that you can switch to. Unfortunately, unlike IDEA, this mode is not persistent and every time you come back to settings, you have to switch again to advanced mode. Highly annoying.
  • There is default integration with the bundled Apache Tomcat 5.5.16 and SJSAS 9 (Glassfish). It is not possible to add a generic integration such as in IDEA (with Jetty for example) as you only have a choice of predefined server such as SJSAS, Tomcat 5.0, Tomcat 5.5, Weblogic 9 and JBoss 4.
  • Changing settings is a bit baffling. For servers for example, you have to go to Tools/Server Manager and some (few) other related settings are in Tools/Options.
  • In the Tools menu a ‘Java Platform Manager’ is actually a repository of J2SE definitions. ’Java Platform Manager’ is a pretty unusual name especially as internally, the root node is call J2SE and the internal name of each ‘platform’ is called ‘JDK’. That’s very inconsistent.
  • For any IDEA user, the code analysis is falling short. It is clearly thousand of miles away from all helpful information that IDEA provides through Intentions and Inspections. Sometimes you have some kind of Notepad feeling.

No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

Powered by WordPress