Interview: Joel Murach, Author of "Murach's Java Programming"
Hi Joel. You've recently written a book that makes use of NetBeans IDE. Can you say a few things, first of all, about the book itself?
The book is called Murach's Java Programming, and it's designed to teach the core Java language to programmers of all levels as quickly and easily as possible. This book teaches all of the essential skills for writing object-oriented programs that are taught by other books, but our book is different in several ways. For example, it integrates coverage of the NetBeans IDE, which I've only seen in one other book so far.
And why was NetBeans used as the tool to create the applications described in the book?
Most other Java programming books don't show how to use an IDE. In fact, many of these books still show how to create Java applications using a text editor and a command line. That's crazy, and it's not an approach I would recommend to any of my friends.
So, with this book, we decided to integrate coverage of an IDE. That way, our readers can take advantage of the time-saving features that are available from a modern IDE. This allows them to spend more time learning how to write good Java code and less time managing files, searching for errors that can be found automatically, and wrestling with the command line.
When searching for the best IDE for this book, we quickly narrowed the choice down to NetBeans or Eclipse. Both are great IDEs for Java programming. Both are widely used. And both are available for free. In the end, I decided that NetBeans is more intuitive and user-friendly, especially for beginning programmers, so we decided to go with NetBeans.
What makes NetBeans uniquely useful to you in your teaching context?
We decided to go with NetBeans because, in the end, it seemed more intuitive and user-friendly than Eclipse. Since our book is designed to work for beginning programmers as well as more experienced programmers, that was important to us.
Also, there's a section in our book about GUI programming. Most other books show how to manually write the code that defines the GUI, which is tedious and time-consuming. But I wanted to show how to use a GUI builder tool because that's the easiest and best way to get started developing GUIs. Again, the Swing GUI Builder tool provided by NetBeans works great and is installed and ready-to-go by default, which is what we wanted for this book. Although you can use a GUI builder with Eclipse, it's not quite as easy to get going with it.
What are your favorite NetBeans features and where could things be improved?
My favorite NetBeans features are the ones that make it easy for programmers to learn Java.
- Automatic syntax checking. This feature automatically highlights syntax errors, which allows programmers to fix them before they become a problem. If you're used to it, it may not seem like much, but it saves a lot of time and effort when compared to a text editor and a command line.
- Code completion. This feature helps you enter the names of classes, objects, and methods more quickly and easily. More importantly, from a learning point of view, it allows you to view all of the methods that are available from a class or object, including the documentation that describes what the method does.
- The debugger. If you encounter a serious problem, a good debugger like the one that comes with NetBeans is crucial to finding and fixing the problem. Also, if you're new to programming, especially object-oriented programming, a good debugger can help you step through code to help you understand how it works.
- Automatic package handling. If you're using a text editor and a command line to work with packages, you'll undoubtedly waste a fair amount of time renaming directories and changing your package statements to correspond with the new directory names. With NetBeans, this is handled automatically, which allows you to focus on coding instead of administrative details.
- The Swing GUI Builder. You can manually write the code that defines a form and its controls, but it's a time-consuming and tedious process. Also, it's not the way most professionals develop GUIs. That's why our book shows how to use the Swing GUI Builder to automatically generate the code that defines a form and its controls. Then, it shows how to write code that handle the events that are generated by the controls, how to validate data, and how to populate objects.
For our purposes, the NetBeans IDE works very well, and I don't have any suggestions for improvements. Thanks!