NetBeans Day officially began this afternoon with a keynote presentation by Sun CEO Jonathan Schwartz, Java Tools director Tim Cramer, and others.
Jonathan Schwartz: Why do I care so much about developer tools and developer productivity? I started a company a while back with a bunch of friends. I sat in a room... it was me and 4 developers. Let me tell you when developers have poor tools they're very unhappy! And they end up wasting lots of time doing mundane things. With better tools, morale improved and the quality of the software improved too.
The theme of this week is "Innovation happens elsewhere", meaning it comes from you, the community. We're taking things from our Java Enterprise stack and releasing them as open source, bringing them back to the NetBeans community.
The challenge: Be different, be disruptive, do the unexpected.
When my real job was announced a couple weeks ago, my first act was to appoint somebody to run the software group for me. He and I share a passion for choice and developers and opportunity. His coming back is at the core of what we're doing now at Sun. So I'd like to invite up Rich Greene.
Jonathan: So Rich, are you going to open source Java?
Rich: Well it's great to be back. (laughter)
The reality is that we have to maintain the properties of compatibility, and when people see the brand they know what they're getting. If we can do that, why not? We're going to be talking all week about powering up the community. We're doing more ourselves but asking more of you: join the JCP, sign up for work, etc., and if we have your participation, with enough satisfaction and clarity, why not?
Jonathan: Is this a unilateral decision by you?
Rich: There are so many people involved... we in Sun feel pretty empowered to decide and direct the future of Java but we'll be open to your comments. rich.greene at sun.com .
Jonathan: What's the best part about being back at Sun?
Rich: I joined Sun in 1989... I was a developer prior to that. The thing that impressed me was walking through the halls and seeing amazingly creative and innovative people. There's nothing like it.
Jonathan: Next we have Jared Peterson (Sprint's developer program) to talk a little about the release of a customize toolkit, a version of the NetBeans IDE customized to what we do at Sprint.
Jared: "Innovation happens elsewhere" is as true with wireless as anywhere else. Mobile Java has come a long way in the past few years. Since the voice market is pretty saturated, our focus has been on data. I think of this as the golden age of wireless development. One of the things that's driving that is mobile broadband. We can really get DSL-like speed everywhere. NetBeans 5 is great and makes a nice platform for Java ME development.
(Sprint demonstrated how to create a new mobile application in NetBeans 5 in 8 minutes. They showed a full drag-n-drop interface for creating the application with almost no coding, ending with launching the application in the mobile phone emulator.)
(Tim Cramer, Director of Java Tools was the MC for today's event)
Tim: I want to thank all of you for making NetBeans a success, especially to those who stuck with us through the lean years and gave us a try again. Thanks again for our partners. We have close to 10 million downloads and over a hundred partners. More and more are joining, today JBoss and AMD have announced they have become a member of the NetBeans community.
One of our great partners is Subversion. Today we're proud to announce we have a beta of Subversion support available for NetBeans 5.5. I'd like to introduce Garret Rooney who will give a demo of this new plug-in.
(Garret Rooney demonstrated seamless integration with the NetBeans IDE, including support for refactoring. Unlike CVS, when a file is renamed, its history was associated with the newly renamed file. Garrett also showed what happens when developers make conflicting changes, and how to create and merge new branches.)
Tim: Next up we have Joshua Bloch and Neal Gafter, currently with Google, who are the authors of Java Puzzlers.
Neal and Joshua: What you see isn't always the way things really are. Our brains construct what we see, evolving over millions of years. Studying optical illusions yields deep insight into perception. The same is true for programming, and "code illusions". Unlike optical illusions though, if you know what the trick is, you can avoid being fooled.
(Joshua and Neal went through 3 examples of programs that don't do what you think they do. The first one involved a method that looked like a constructor but wasn't really. The second involved integer overflow. The last one involved using a lowercase 'l' instead of the number '1' in one place.)
NetBeans provides a pluggable framework that you can write checkers for to check for whatever problems affect you. As a community we encourage you to participate and provide the kinds of checkers that can make NB.
(at this point Tom Ball, from Sun Microsystems, demoed Jackpot, now available in beta form for NB 5.5. It'll be included with NB6.)
Tom: One feature of Jackpot is a refactoring manager. It has a list of rules like 'unnecessary cast' and a refactoring that will be applied automatically. Some rules require user intervention. You run the rules with Refactor > Query and Refactor.
The list of things it supports out of the box is very short. "Innovation happens elsewhere." Right now we have templates, there will be a wizard this summer to let you quickly develop new queries. I encourage you to download Jackpot, give it a try. This is your magic wand to go into other people's code and fix those problems you know are hiding there.
Jonathan Schwartz: "Innovation happens elsewhere"
Neal Gafter: "You don't want code that is nearly correct, you want code that is merely correct".