Why NetBeans? Is NetBeans supported by Oracle? What is Oracle's motivation behind NetBeans?
After confronting non-believers with NetBeans magic, I get such questions all the time :-). I'm using NetBeans for my daily HTML, Java SE / FX / EE work, so the "Why" in my case is productivity, convenience, pragmatic features and great out-of-the-box experience. Geertjan Wielenga, Oracle's Product Manager for NetBeans (and a nice guy), answered the harder questions in this interview:Q: What is your job at Oracle?
A: I am one of the product managers in the Oracle Tools group, focused on NetBeans. In that context, I'm mostly focused on external activities, such as attending conferences and preparing presentation materials for myself and others, as opposed to internal activities, such as analysis of new and upcoming features, which I do a bit of, but it's not my primary focus.Q: I read somewhere, that you started your career as a technical writer and learned programming on-the-go. Is it true?
A: Absolutely true. In fact, I have a law degree. Via a strange and twisted journey I ended up proof reading technical software manuals for a 4GL language named SuperNova, which, pretty much like one might predict from its name, imploded. But I learned a lot. This was around 1996 and 1997, so Java was just on the horizon. I learned as I went along, which has big advantages, as well as huge disadvantages, both of which I'm aware of on a daily basis.Q: Then I would like to hear your opinion about Java EE 6. Is it easy to learn?
A: Definitely. Convention-over-configuration is really fantastic. I really enjoy framework-based development, since people who know what they're talking about have set up the ground rules. My job is then to add the distinct features for my specific needs, rather than reinventing everything over and over again. Java EE 6 is really focused on that way of thinking and, together with the tools provided by NetBeans IDE, gives you everything needed to create standards-based applications.Q: How your typical work day looks like?
A: I work from home. But I frequently have phone conferences with colleagues in other time zones. So on a weekly basis I have meetings as early as 7:00 and as late as 23:00, so it's very diverse. In between, I'm blogging, researching, writing presentation materials, planning for upcoming conferences, and keeping in touch with the many people I've met on the conferences I've been to. It's all very varied, so never boring.Q: Why do you like NetBeans?
A: It's extensible, so it is endlessly fun to play with. It's like lego: only your imagination limits what you can do with it. That's really the central feature that keeps it interesting for me. Aside, of course, from the fact that it always provides the tools for the very latest cutting edge Java technologies. That's a big win too. As soon as Java 7, Java EE 6, or JavaFX 2 come out, you have tools to use them in NetBeans IDE.Q: Why NetBeans is still around? Why Oracle still invests in NetBeans? What is the idea behind such an investment?
A: NetBeans is Oracle's IDE for the Java platform. Which IDE was the first to support JDK 7? And what about Java EE 6 and JavaFX 2.0? Oracle delivers tools for the latest cutting edge technologies via NetBeans. No other IDE comes even close to NetBeans in terms of being first off the mark with support for new technologies.Q: So, Oracle needs NetBeans for bringing cutting edge technologies to the developers?
A: Yup.Q: What is the big picture? Where the NetBeans IDE development is going?
A: As pointed out above, NetBeans is going to be, especially in the Java area, wherever the cool new technologies are. At the same time, NetBeans will continually be enhanced in depth of support (i.e., not just breadth) for Java, in particular in the Java Editor, which you'll continue to see being enhanced and beefed up from release to release. For example, the NetBeans IDE 7.2 release was especially focused on depth, i.e., massive performance boosts and many new Java Editor features, especially for large projects, e.g., code analyzers and refactoring tools, rather than breadth, which was more the case when JDK 7 was released, for example, since NetBeans then came out with a range of JDK 7 refactoring tools.Q: What about the developer adoption? Does it increase? How many developers are using NetBeans?
A: A public announcement was made last year that the magical NetBeans active user number of 1,000,000 has been hit. That's not users downloading NetBeans and playing with it a bit, but really active users who repeatedly use NetBeans for their development work. And since that time that number has increased. You'll see a lot of activities around NetBeans at JavaOne to support this constantly growing user base.Q: I like the NetBeans editor. What improvements are planned in this area?
A: More and better features, each release taking another leap forward in this area. Also, a huge focus has been put in the 7.2 release, as I pointed out above, on performance. As an application, such as NetBeans IDE, becomes larger, so performance becomes a more pressing concern. Both the startup of the IDE and the performance of editor features such as code completion has been significantly enhanced during the current release cycle. The code completion and other features work immediately, the project scanning is down to a minimum and always in the background, and the IDE starts up super fast. Go ahead and check out the latest enhancements for NetBeans IDE 7.2, which especially features complete integration of the awesome FindBugs tool. See also: http://wiki.netbeans.org/NewAndNoteworthyNB72Q: The "One Click Install" feature is not promoted a lot. Developers are often stunning about the complete Java EE integration with all required extensions/plugins after a single click. Is the excellent installation experience an official goal, or more an accident?
A: Definitely an official goal. One of the strongest features of NetBeans IDE is the fact that you have everything you need for developing feature rich applications, right from the moment you've installed it. Of course, there's a rich set of plugins you can install, but the NetBeans philosophy is that all the basic functionality needed should be available out of the box as soon as you've installed the IDE. That's also why NetBeans is popular in educational settings, because there you don't want to spend time messing around with plugins and customizing the IDE in special ways. Rather, you want to download the IDE once and then make it available to everyone in the class. That kind of usage is exactly what NetBeans is made for.Q: Is the NetBeans RCP (i.e., the rich-client framework) gaining momentum?
A: Yes, indeed. While the market for large software systems on the Java desktop is sometimes seen as a "niche" area, it's such a large and diverse niche, that the word "niche" ends up being misleading. Software on the Java desktop is everything from air traffic control to stock trading to oil/gas analysis to retail and, of course, to software development, too. All of these types of applications require the same basic features, in the same way as all Java web applications have the same requirements. You could see NetBeans RCP as the Java EE 6 of the Java desktop: it even comes with a large set of annotations for registering artifacts, just like Java EE 6! Check out the screenshots page http://platform.netbeans.org/screenshots.html for a long list of literally hundreds of inspirational applications. That page is growing on a weekly basis, so that says a lot, I think.Q: JavaFX is lacking a platform right now. Could NetBeans RCP solve the problem?
A: Well, it already is. Right now, a lot of developers using the NetBeans RCP are investigating how to plug JavaFX charts and the JavaFX WebView into their NetBeans RCP applications. And several sessions (including a very interesting tutorial by JavaFX experts Paul and Gail Anderson) at JavaOne will focus very specifically on this topic. The cool thing is that the modularity built into the NetBeans RCP makes it very easy to plug in JavaFX components, such as the many dynamic JavaFX charts that are available, even at runtime.Q: Is feedback appreciated? How developers can provide feedback in easiest possible way? Should they contact you directly?
A: IssueZilla (http://netbeans.org/community/issues.html) will always be the best way to ensure that feedback is taken seriously and incorporated in the next release. A cool thing as well is to blog about the feedback you'd like to give, along with filing the issue in IssueZilla, to draw attention to the features you'd like to have included. Twittering is also a good method, personally I'm on Twitter a lot, sometimes on an hourly basis. Q: Will NetBeans engineers give talks at JavaOne? Is there a list of talks already available?
A: Yes, several! Read all about it here: http://netbeans.org/community/articles/javaone/2012/index.htmlQ: Are there any NetBeans-related events at JavaOne?
A: Sunday, September 30, there'll be a NetBeans community event, from 9:00 to 15:00! You'll see many speakers from the mailing lists, from NetBeans users as well as NetBeans Platform developers. It will be a bit of a circus, but a lot of fun: http://netbeans.org/community/articles/javaone/2012/netbeans-day-2012.html You'll be there too, Adam, so see you there!Q: Any final words?
A: If there's one simple way to help NetBeans, it would be this: download NetBeans IDE 7.2, try it out, and BLOG about what you see. Which features do you like? What features would you like to see added in the future? What's your general feeling about the performance enhancements and the FindBugs integration? Create some buzz by blogging the answers to these questions and you'll be helping the NetBeans project immensely.Thanks for the interview and see you at JavaOne!
[If you like to see NetBeans in action: all my Java EE screencasts are performed with NetBeans]
NEW workshop: Building HTML 5 Applications Without Frameworks, Full week in December 2016: from Java EE 7 Bootstrap, Effective, Architectures over Testing to Microservices
On demand workshops: Java EE 7: Bootstrap, Effective, Testing and Microservices available for streaming.