Artima has part 1 of an interview with Tim about the future of NetBeans. Now, I am a NetBeans user. I like it. Really. I still find myself hating every time I hear people talk about NB. The spin is just unbelievable.
We talked with some of the folks doing Eclipse distros to create alternate NetBeans distros, and the feedback we got is that they don’t see where they could add enough value. They find that what you get from netbeans.org is already tested, works, and is well integrated, and the general quality of the available plug-ins is high. There is no DLL-hell situation with NetBeans, the pieces are heavily QA’d and tested.
Get that? There is no third party support for NetBeans because NetBeans is just TOO good. Really? Even passing over things like MyEclipse, which legitimately does replicate functionality in NB, how come Aptana or RadRails or OpenLaszlo don’t pick NetBeans as the core for their “has nothing to do with NB(+Insert Pack Name here)” functionality? No, they went where the users are, and that is the reason NetBeans doesn’t see that sort of stuff. I would honestly like to see this kind of functionality in NetBeans and wider support, but this seems like a rather deluded way to talk about the problem to us poor users.
Moreover, I wish someone would bring up the abomination that is the Library/Build system. I know it is rather en vogue to detest Maven, but Meveide makes NetBeans truly usable in my world. Moreover it makes working with a project from a command line, NB, Eclipse, or any other IDE really possible. The big problem is, you lose a lot of that “Insert highly touted NB feature here” when you use it, so most of the insanely great stuff they talk about I never even get to use. Until someone gets honest-to-higher-power sane about that whole part of the IDE, it is going to be a problem. As much as Eclipse has its own set of craziness, at least the don’t have an entirely artificial and proprietary package manager that makes it hard to work with.
The Enterprise Pack offers XML support on steroids, allowing you to refactor your XML, in addition to schema support and basic XML editing. UML support is another of important Enterprise Pack feature. And if you have a bunch of Web services and you need to make them all talk to each other, you can use NetBean’s BPEL support to orchestrate that.
Now I have seen the much touted XML tools, and they are neat, but like many thing now rolling into NetBeans, the poor UI design makes it almost wholly unworkable for anything past the “Hello World” app. Big clunky graphical tags in the schema designer mean you either (a) don’t get to see more than a handful of the most basic schema or (b) you don’t get to read the text. The UML tool — and don’t get me wrong, aside from round-tripping not working with Mevenide (or a “project with existing Ant script” for that matter) having a tolerable, free UML tool is great — is still horrible compared to what TogetherJ was 7 years ago. Again, it isn’t features, it is UI: getters and setters can’t be masked into “properties”, the font scaling and heavy handed graphics mean you get to see none of your class diagram or none of the text. I won’t even go into why I hate BPEL, but really, it seems to me that BPEL and the editor are really there for a Business Analyst or Project Manager to be able to control business rules independent of the programmer. Having them in this particular set of tools and making “those guys” learn the basics of an IDE to use them seems a bit silly.
Now, Jackpot seems like a neat idea, and I haven’t played with it, but frankly, I am not sure I want to learn a whole new “mini language” for the advantages it offers. The JSR-199 stuff is going to make the world a better place, but that certainly isn’t going to be restricted to NetBeans.
All in all, NB really needs not another 200 big new features, but just a pass back over what is there to address the day-to-day idiocy that real programmers have to face. I mean, we are adding this whole fancy new schema editor and there is still not a simple XPath evaluator or a (good) pretty printer/formater in the XML editor. Moreover, the whole menu bar is desperately in need of a rethink. At this point it is so big on my 1280×800 MacBook display, it is overshooting the edge of the screen. There still isn’t a hotkey for things like “Encapsulate Fields” that I use all the time — WAY more than the things in the Refactor menu that DO have hotkeys. Being able to retemplate that functionality to use PropertyChangeSupport would be nice as well.
In short, lets stop adding new features and spinning like it is the greatest thing since sliced bread until the features that ARE there are much much more usable.