|
Eclipse By Steve Holzner April 2004 0-596-00641-1 334 pages, $44.95 US, $65.95 CA, £31.95 UK |
This is not the review I intended to write...
For those who do not know, Eclipse is a new Integrated Development Environment (IDE) created by IBM. Eclipse is written in Java and was written initially for Java development. However, due to their design approach (everything is a plug-in) and the fact IBM made it free (as in beer) it has become all the rage.
The problem with any IDE, especially for someone used to a simpler way of life is the learning curve required to do anything useful in the IDE. By useful, I don't just mean write programs as you can do that in nearly any editor. By useful, I mean making use of a reasonable, if not significant number of the IDEs features; enough anyway, to justify switching for your old favorite editor to this powerful new beastie.
I have long been a user of the vi editor. This was not due to any strong religious convictions as you usually find in these conversations. I just changed jobs so often and had to deal with so many different "policies" the only editor I could ever count on being present was vi.
However, I have had a growing "feeling" I could be doing better somehow and so started looking into IDEs of various sorts. Naturally, I was quite pleased to find a free IDE packed with features with a new book describing it, so I dove right in.
Initially, I had hoped to write a review of the entire book from the perspective of someone not only new to Eclipse, but new to the whole IDE scene in general. I wanted to review the book based on how will it actually helped me learn and become effective in Eclipse.
Here is where my plan went awry and I finally start to review the book...
You see, Eclipse is so God-awful powerful and its plug-in architecture so insanely extensible there is no way for any single book to cover "all" of Eclipse. Even if you stick with the Java features for which Eclipse was originally created and stick with only the "stock" features, you still have far more than any poor newbie can evaluate in any reasonable amount of time.
For instance, if you are not creating any Swing GUI's you do not need to read chapter 6. If you are not creating GUI applications using Eclipse's own SWT widget library, you do not need to read chapters 7 and 8. Not doing web development you say? Skip chapter 9. If you are not working with Struts, skip chapter 10. Finally, if you are not quite ready to build your own Eclipse plug-ins, you can skip chapters 11 and 12.
So you see my dilemma and why I mentioned up top this was not the review I intended to write. To write that one, I need to fabricate several little projects and do an awful lot of setup external to Eclipse just to test it out.
The chapters you will be interested in no matter what you are doing with Eclipse are as follows:
Chapter 1, Essential Eclipse explains the whole philosophy of the Eclipse IDE and how to get and set it up.
Chapter 2, Java Development should also be read, even if you are not planning to do any Java programming. Plug-ins for the other languages will look to the Java "Perspective" as the example for expected feature and function. However, there is no guarantee the plug-in for your chosen programming language will have the complete feature set.
Since I am writing this for a Perl Mongers group, I should go ahead
and mention there is in fact a Perl language plug-in called EPIC. This
plug-in can be located at:
http://e-p-i-c.sourceforge.net/
This plug-in is not as feature rich yet being at version 0.2 but it is already more than what most Perl programmers are used to.
Chapter 3, Testing and Debugging. This chapter I also think is good to read regardless of language. The debugger was "busted up" for the Perl plug-ins with the version I used but will probably be fixed by the time you read this. So much of that will still apply.
If you have never done unit testing via the xUnit testers, this will give you a micro-introduction to unit testing. JUnit (for Java Unit testing) will not work with the Perl EPIC plug-in. However, via the external application setup you can in add in Test::Unit to give a similar feel.
Chapter 4 is entitled Working in Teams and for those who are hacking on their just for the fun and glory of it may be inclined to skip this chapter also. However, I would recommend giving it a read. If you are writing code and not using CVS I suggest you consider using it. This chapter will not tell you how to setup CVS, but on most platforms it is pretty straight forward. The integration Eclipse has with CVS is very nice and I highly recommend it.
The CVS plug-in for Eclipse is language independent so you can use it no matter what language you wish to use. The ability to revert and compare code not only with what is in the CVS repository but what is kept in local history by Eclipse is remarkably useful.
Chapter 5, Building Eclipse Projects Using Ant may or may not be useful. Ant is very Java centric but I think it id not exclusive to Java. However, there may or may not really by much use for a build process for Perl. This is something I actually did not test out but would like to for the "longer version" of this review.
Chapters 6 through 12 are the ones you will skip unless you are working on a project relating to these subjects. They include chapters on GUI development with SWING, AWT and SWT; Web development with JSP. Tomcat and Struts; and Plug-in development so you can help create those new Perl plug-ins!
The last chapter, Eclipse 3.0 talks about the upcoming plans for the next major release of Eclipse. If the rest of the book did not get you excited about using Eclipse, this chapter should. Most of the changes to Eclipse seem to revolve around bring more and even more of the development process right into the IDE so you never have to leave Eclipse.
This is the big question. While I enjoyed and highly recommend the book, it is written for version 2.x of Eclipse and Eclipse 3.0 is now basically out. Even the EPIC team has stopped supporting their plug-in on Eclipse 2.x and moved exclusively to supporting Eclipse 3.0.
As far as I can tell, everything you read in this book will still apply to Eclipse 3.0, it just won't be complete. My real hope is by the time you read this, an updated edition will be released focusing on version 3. This edition is the first edition and was published in April 2004.
So I guess my recommendation is this, if you want to start using Eclipse now and want a book to help you out, see about getting this book cheap. If you have Safari or can get the book used, or steal it from a friend, do so. Then, when the second edition hits the shelves, run out and buy that one.
I have been programming for about 15 years professionally. I have long been a vi adherent and only recently decided IDEs might be worth looking into. In the interest of full disclosure, I am quite excited about the possibilities presented by Eclipse and look forward to seeing what else comes out of this effort.