Friday, October 05, 2007

Layman's review on Modeling etc. features in Netbeans 6.0

I know, I'm not going to sound very good for this post on the planet and expecting very less dialog in form of comments on it, but anyway...

The Java development blogosphere is experiencing a new wave of marketing campaign, yes everyone is talking about Netbeans, but hold on, it's not just viral-marketing, I found reviews where some says it's ruby support is the bomb, some are finding profiler better, someone is just finding it coming-up with better attitude:). Well, I've to tell it, I'd tried Netbeans in various forms in last few weeks, I can tell you it can do pretty much what all IDEs do these days. Netbeans might be looking less refreshing with all that swing (elegant inside!) rendering, but giving Eclipse Key binding, for example, really shows it's eager to compete your favorite IDE. In this post I'm not trying to say Netbeans is better or something like that, my love for Eclipse is unparalleled for various reasons, but yes I am, sure, eager to tell you my modeling experience with Netbeans.

Before I do that I'd just write down my opinions about Netbeans 6. I would say, profiling is really pretty good, I don't need to understand nefariously complex architecture to use it, I don't need to go to help to use it. See you would say, TPTP is complex only for lame users. Are you talking about UI? how many perspectives you have as part of TPTP? which one to use for profiling? and what you've to do to profile remote Java application? can you answer it without looking in documentation? Don't get me wrong, I'm trying to be as unbiased as I can.
As for Ruby support, It is just about as good as DLTK Ruby IDE, I'm no Ruby big shot as yet, but things works pretty OK with DLTK as well, cheers! Netbeans has fantastic UI editor though, VE plain sucks, oh and is it around now? last time I heard it's dead.

Now on modeling, To My fellow Eclipse committer guys, let's face it, Eclipse doesn't give anything in modeling front which an average user can use out of the box. It might have innovative and wonderful framework / UML infrastructure for building tools around it though, which is very well appreciated by 2% eclipse plug-in developers (including me), fine. So for our hacky interests EMF might replace MOF but Eclipse users are not getting any advantage of it. I know, some might say it's no big deal to not have modeling as a part of IDE, but hey that's the whole point, everything from single place is the point. Few would like to use Visio to model class diagram and then write code for it. We've quite a few other reluctantly-opensource projects, in the community, controlled by arbitrary licenses which are not very useful.

For those who don't agree, download and try Netbeans for modeling, You will, for sure, appreciate the efforts put into it, it can do hell lot of stuff (It can't copy and paste model elements in single diagram though :) ), Java reverse engineering, simple modeling, in context design pattern appliance, it's just there and works! you don't need to find something on Internet and read it's license thrice before using it. And the best part of it, It doesn't cost an arm and leg to get these features. OK, it might behave little in-development but it's just there for you, try it!

Eclipse is the great Plaform and I can't even start to compare it or any of it's innovative aspects with something as trivial as Netbeans in that context, but guys, shouldn't Eclipse consider it's "end-users" who expect nice features? Advocacy on plain words don't help, it needs strong backing of solid product which offers something more. Learn Learn..


Ed Merks said...

Modeling is about a lot more than drawing a pretty class diagram! Once you draw the diagram, it's nice to be able to do useful things with it besides printing it in full color. Does NetBeans generate high quality model code? Can the generated code be hand tailored to implement behavior? Can that code be used to build UIs, i.e, do the instances produce notifications as they change? Can instances be serialized as XML? Is there a framework of useful utilities to support your models and a vibrant community of contributors and users? If you have questions, will they be answered quickly?

I also doubt that your 2% figure is correct given that EMF is used by most of the other Eclipse projects, was second place in JDJ Readers' Poll for best Java component (and even with its crude tree-based editor ranked highly in the best modeling tools category), and is always on the Popular Projects list on the downloads page where it's currently third. What's the basis for the 2% figure? My wild guess would be that EMF is being used by roughly the same number of developers as are using RCP...

You're certainly right that if drawing UML diagrams is your goal, the out of the box experience is very poor today. But the UML Tools project is working hard and I'm hopeful we will have a packaged build like the EE package but for Modeling for Ganymede so that the poor user is not stuck trying to install dozens of different projects. On the EMF front specifically, the proposal for an Ecore Diagram project is pretty exciting. So stay tuned. The modeling community at Eclipse is growing rapidly and the best is yet to come!

Chris Aniszczyk (zx) said...

My litmus test has always been that once Netbeans has something as solid as PDE, I'd start being worried.

The reason the Netbeans out of box experience is so cohesive is that it is all developed under a single umbrella and run like a product.

Running Eclipse as a product is impossible. However, that doesn't mean we can't improve our out of box experience. In Ganymede, we're looking at projects to adopt the UI guidelines in order for them to be part of the release train and other things that should help.

Nirav Thaker said...

I understand models and meta-models pretty well and know quite a bit about it (I wrote a state machine compiler for UML2 state chart spec. using UML2 subproject). I'm not doubting about EMF's reach in modeling and it's vibrant "Tool Developer" community, As a side note: I also find Teneo nice compared to many dreaded ORMs in JEE arena. To your curiousity Netbeans has a template based generator and look here.

And by 2%(that's not real figure, I just wanted to compare the how many more people can use it other than those who visit JDJ), I'm not comparing developer community, I'm comparing developer to end-users community who might not be developers, and that's huge one.

Nirav Thaker said...


As I said, I can't even start comparing it With Eclipse as platform... :)