Many of the examples described in this book can be designed and built using the built-in editors of ImageJ and Fiji, but if you want to develop more advanced plugins, setting up an IDE would make you work faster. As a learning tool, an IDE might not be the best option. The learning curve of the IDE itself can be steep, and also, it can make you lazy. IDEs can be quite clever and analyze your code to provide automatic importing of classes, implementing the required methods, and variable checking and casting. These tools are handy, but it is important to understand what is happening when the IDE suggests these options. Of course, the spellchecking and completion of variable names makes sure that you will make fewer typos, but you should never blindly rely on it. The analysis of code can be quite sophisticated, but it cannot predict what the developer has in mind. This can sometimes result in very odd behavior or errors that may be hard to debug.
To work with an IDE such as...