Vous voulez voir cette page en français ? Cliquez ici.


or
Sign in to turn on 1-Click ordering.
More Buying Choices
Have one to sell? Sell yours here
Contributing to Eclipse: Principles, Patterns, and Plug-Ins
 
See larger image
 

Contributing to Eclipse: Principles, Patterns, and Plug-Ins [Paperback]

Erich Gamma , Kent Beck
3.5 out of 5 stars  See all reviews (11 customer reviews)
List Price: CDN$ 46.99
Price: CDN$ 38.39 & this item ships for FREE with Super Saver Shipping. Details
You Save: CDN$ 8.60 (18%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.ca. Gift-wrap available.
Only 1 left in stock--order soon (more on the way).
Want it delivered Tuesday, May 29? Choose One-Day Shipping at checkout.

Product Details


Product Description

Book Description

This book encourages tool building by laying bare the design of an excellent tool platform, Eclipse, and encourages design by building a typical tool extending Eclipse. This tutorial on creating custom tools also provides an explanation of a highly effective software design philosophy. The authors revive the lost art of supporting existing work by building tools. This book improves the software developers skill set by building little tools, and gradually growing those tools into better-than-professional quality products to help a whole community of developers. This book revives that highly-effective practice of tool writing and provides lessons along the way that tool building and design are two of the most leveraged skills for software developers.

From the Inside Flap

Humans need to feel nurtured and cared for. Humans also need to nurture and care for others. Fulfilling the need to nurture and be nurtured is what makes becoming a fully functioning Eclipse programmer so satisfying. This experience is wrapped in all sorts of rational explanations--"productivity," "time-to-market," "leverage." Eclipse is a productive environment in which to work, and contributing to it makes it more so. The right contributions written by the right person can create a highly leveraged reduction in time-to-market. While these explanations are true, though, they aren't the point.

Working in Eclipse feels good to us because our needs are being taken care of by our environment. When we have a programming problem, there is an Eclipse feature that helps us with it. Contributing to Eclipse feels good to us because we know we are adding to that nurturing feeling of nurturing for ourselves and other programmers. When our contributions enable others to make further contributions of their own, a positive feedback loop appears. That positive feedback feels satisfying.

Contributing to Eclipse also has the potential to become an exciting business proposition. You can use Eclipse to ship fully featured products, or you can ship contributions that extend existing products.

Eclipse is powerful--personally, professionally, and socially. But there is a daunting amount of information necessary to join the cycle of contribution. We hope reading this book will help you get over this initial hurdle and begin contributing.

Eclipse is good news and bad news for developers who like writing tools for developers. The good news is that the platform is incredibly powerful and the internal developers have followed all the rules in creating the Eclipse Java development tools. The bad news is that Eclipse has a strong world view. If you want to play nicely in Eclipse's sandbox, you need to learn the rules.

Beginning with Eclipse feels a bit like parachuting blindfolded into Bangkok (this analogy doesn't apply to Thai programmers). When you land you know you need food and shelter, but how are you going to get it? How can you map your clear desires onto the resources available?

Overcoming this feeling of dislocation is the primary goal of Contributing to Eclipse. If you parachuted into Bangkok with a guide, you could say, "I'm hungry," and your guide would say, "Here's the kind of place you can get a meal." Similarly, we can listen to, "I want to build such and so," and tell you, "This should be its own perspective, that is an object contribution, and you'll need a new editor for that."

When you are finished with this book, you won't have a complete map of Eclipse, but you'll know at least one place to get each of your basic needs met. You will also know the rules through which you can play well with others. It's as if we draw you a map of Bangkok marked with six streets, a restaurant, and a hotel. You won't know everything, but you'll know enough to survive, and enough to learn more.

When you learn Eclipse, you'll spend much more time reading code than writing code. You will have to grow accustomed to incredibly productive days in which you spend six hours reading and one hour typing. After you become familiar with Eclipse culture, you'll "just know" how to solve more and more problems. However, you'll always solve problems by copying the structure of solutions to similar problems, whether by mimicking Eclipse structure or the structure of your own previous efforts.

As we walk together through our example, we won't pretend that we perfectly remember all the details. Instead, we'll show you how we found structure to mimic. Learning to effectively use Eclipse's search facilities is part of becoming an Eclipse contributor.

This book is not intended for beginners just learning to use Eclipse. We assume a familiarity with the vocabulary of Eclipse--views, editors, and so on. Once you've used Eclipse for a while, you are likely to come up with ideas for extending it. That's when this book comes into play.

When we laid out Contributing to Eclipse, we had a daunting stack of concepts to cover. If we tried to tell you about all 2,000 ideas in Eclipse, though, we would have a book that would cut off the circulation to your lower extremities. In deference to your feet, we've chosen the 50 things that we think are most important for getting you started. Many chapters conclude with "Forward Pointers," places in the code where you can explore the extension of the concepts covered in the chapter. When we teach Eclipse, this is exactly the structure we use--"Why don't you look at the org.eclipse.core.runtime manifest?"

Once there was a doctoral student who had to take a qualifying exam about fruit. He only had enough time, though, to learn about cucumbers. When the time came for the exam, the first question was, "Tell us about the tomato." "You see," he said, "the tomato, like the cucumber, is actually a fruit. The cucumber is 80 percent water, has a disease-resistant skin, and is used in salads." Every question that came up, he answered with cucumber facts.

We know cucumbers. Except in our case, there are two cucumbers: patterns and JUnit. You'll find pattern-y advice throughout the book. In fact, we were uncomfortable with writing until we started writing the Rules. Once we had the concept of Rules, we could proceed happily. The Rules are really patterns in a micro format.

JUnit, our second cucumber, is the basis for the running example. We wrote JUnit in a few hours in a plane over the Atlantic in 1997. Since then, it seems much of our technical lives have revolved around it. JUnit is fertile ground for an Eclipse example because the core--running tests--is simple but the implications--the presentation of tests and results--have barely been explored.We did want to warn you, though, that if you're tired of hearing about patterns and JUnit, this is probably not the book for you.

Conventions Used in This BookThe following formatting conventions are used throughout the book:

  • Bold--Used for the names of user-interface elements, including menus, buttons, tabs, and text boxes.
  • Italic--Used for filenames and URLs. Also, new terms are italicized for emphasis.
  • Courier--Used for all code samples and for in-text references to code elements. Plug-in names and elements of XML files also appear in this font.
  • Courier Bold--Used to emphasize portions of code samples, in particular insertions or changes.
  • Courier Strikethrough--Used in code samples to indicate where text should be deleted.
In the example presented in Parts II and III, we use specific icons to indicate our current activity:

  • Searching--Shown when we search and explore the Eclipse code.
  • Mimicking--Shown when we present code and XML markup from Eclipse.
  • Testing--Shown when we present code from a JUnit test.A snapshot of all the source code developed throughout this book can be downloaded from there. The site will also provide an errata list and other news related to the book.To use the examples, the Eclipse SDK (Version 2.1.1) is required.

Tag this product

 (What's this?)
Think of a tag as a keyword or label you consider is strongly related to this product.
Tags will help all customers organize and find favorite items.
Your tags: Add your first tag
 

 

Customer Reviews

11 Reviews
5 star:
 (6)
4 star:    (0)
3 star:
 (1)
2 star:
 (1)
1 star:
 (3)
 
 
 
 
 
Average Customer Review
3.5 out of 5 stars (11 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most helpful customer reviews

1.0 out of 5 stars I had high hopes but it was a waste of money, July 29 2004
By A Customer
This review is from: Contributing to Eclipse: Principles, Patterns, and Plug-Ins (Paperback)
.
I was fooled by the first few "reviews" of this book. Its strange how they gave this book a 4-star rating but seem to have been written before the book was released :~

This book is poorly written and it seems the author is not used to writing for the purpose of education but rather just wants to show off his example project.

Chapter 1 starts off promising but by chapter 2 it starts on about this JUnit testing project and that's all he talks about for the rest of the book. In fact, I dare you to open any random page and not find the word "JUnit"!

Being new to Eclipse I had to go online to find out what the heck JUnit was since he doesn't really explain it but expects the reader knows all about it. I discovered that JUnit has little to do with actual Plug-in development but despite that, the author makes JUnit the focus of the book and pretty soon the "example" becomes the central focus and Plug-in development takes a back seat. I started to get really annoyed at about chapter 3.

The examples are so focused on the JUnit project that they are virtually useless in any other context and a lot of other important concepts get left out.

The flow of the book is clunky and the book takes quite a few huge leaps of logic leaving the poor reader thinking his copy is missing a bunch of pages in the middle.

A word to the aspiring programming book writer: Every example in the book should be simple, stand on its own and preferably be reasonably unrelated to the other examples in the book. Try "what's the minimal example I can give to demonstrate this concept" instead of "lets give a complex example with lots of unlrelated stuff so the reader will think I'm really smart".

This book reads like a soap opera as we hold out breath to see how the JUnit project will evolve in the next chapter. Good grief!

This book needs a total makeover by a good editor and someone with some real-world teaching experience. In all fairness most of the documentation about eclipse is terrible but I hoped this book tried to rise above that.

I was very disappointed.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


1.0 out of 5 stars Ego Gratification, Mar 23 2004
By A Customer
This review is from: Contributing to Eclipse: Principles, Patterns, and Plug-Ins (Paperback)
I'm sorry but this book seems to be more about gratifying the authors' egos than actually helping anyone contribute a development tool to eclipse. As a previous reviewer indicated there is a CULT feel to the whole business. Page 2 shows the pyramid of enlightenment. One can imagine Gamma and Beck sitting on the point. Of course there's money to be made in such cults and I suspect some of the "rave reviewers" are trying to cash in.

However, eclipse itself is not so bad and the on-line documentation (as opposed to this book) is actually useful. I particularly recommend the articles by John Arthorne.

I'm sorry about giving such a negative review but I think it's important to discourage this kind of "cultism."

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


2.0 out of 5 stars Feels like a first draft, Feb 17 2004
By A Customer
This review is from: Contributing to Eclipse: Principles, Patterns, and Plug-Ins (Paperback)
Big name authors, but the book really doesn't deliver.

The authors take the approach of guiding the reader through 3 "circles" of eclipse development. This reasonable pedagogical approach is underminded by frequent errors and unexplained changes/additions to the code being developed.

Circles 0 and 1 take the reader through the canonical "Hello World" example followed by a more substantial example Test plugin. Circle 1 is particularly let down by various unexplained additions to the code being developed. Additionally, complex code approaches are adopted which hinder the explaination of the task at hand.

Throughout these circles, various interesting but unnecessary sidebars meander through justifications for why the Eclipse way is "Right"[tm]. These sidebars are poorly placed and delve far into the philosophy behind Eclipse. The content of these sidebars is interesting, however the diversions only serve to muddy the waters at a point where the reader is mostly interested in learning how to write a plugin. (As opposed to becoming a member of the Eclipse cult.)

Circle 2 continues with the development of the test plugin started in circle 1, expanding functionality and exposing the reader to further aspects of plugin development.

Finally, circle 3 takes a higher level look at appropriate patterns for plugin development. This is the place where the earlier philosophy and detailed information scattered in circles 0 and 1 would have best been presented. (That is after the reader has a grasp of the terminology and has got enough speed up for the information to be useful.)

Overall, the writing is reasonable but tends towards sloppy in places. In a sense the writing feels like it needs some quality time with a good editor.

Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
Want to see more reviews on this item?
 Go to Amazon.com to see all 15 reviews  3.7 out of 5 stars 
 
 
Most recent customer reviews









Only search this product's reviews



Listmania!

Create a Listmania! list

Look for similar items by category


Look for similar items by subject


Feedback


Amazon.ca Privacy Statement Amazon.ca Shipping Information Amazon.ca Returns & Exchanges