
Amazon Prime Free Trial
To join, select "Add your free 30-day trial of Prime and enjoy Prime Video, Prime Music, and more" and confirm your Prime free trial.
Amazon Prime members enjoy:- Cardmembers earn 5% Back at Amazon.com with a Prime Credit Card.
- Unlimited FREE Prime delivery on eligible items
- Streaming of thousands of movies and TV shows with limited ads on Prime Video.
- A Kindle book to borrow for free each month - with no due dates
- Listen to over 2 million songs and hundreds of playlists
Important: Your credit card will NOT be charged when you start your free trial or if you cancel during the trial period. If you're happy with Amazon Prime, do nothing. At the end of the free trial, your membership will automatically upgrade to a monthly membership.
Buy new:
-7% $60.19$60.19
Delivery Friday, July 19
Ships from: Amazon Sold by: Mapple Shops
Save with Used - Very Good
$8.37$8.37
$29.04 delivery July 23 - August 13
Ships from: ThriftBooks-Phoenix Sold by: ThriftBooks-Phoenix
Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Follow the author
OK
Generative Programming: Methods, Tools, and Applications 1st Edition
Purchase options and add-ons
Generative Programming (GP) offers the promise of moving from "one-of-a-kind" software systems to the semi-automated manufacture of wide varieties of software -- essentially, an assembly line for software systems. GP's goal is to model software system families and build software modules such that, given particular requirements specs, highly customized and optimized intermediate or end products can be constructed on demand. This is the first book to cover Generative Programming in depth. The authors, leaders in their field, introduce the two-stage GP development cycle: one stage for designing and implementing a generative domain model, and another for using the model to build concrete systems. They review key differences between generative modeling and processes used for "one-of-a-kind" systems. Next, they introduce key GP concepts such as feature models, and demonstrate "generic programming" techniques for creating components which lend themselves to easy combination and reuse. The book also introduces Aspect Oriented Programming, which allows developers to solve key recurring problems in traditional O-O development; and presents metaprogramming techniques for building powerful program generators. Three detailed case studies demonstrate the entire generative development cycle, from analysis to implementation.
- ISBN-100201309777
- ISBN-13978-0201309775
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateJune 6, 2000
- LanguageEnglish
- Dimensions9.26 x 7.45 x 1.7 inches
- Print length864 pages
Customers who bought this item also bought
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on Amazon-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
orderly and predictable way and more important how to provide technology for true reuse in Software Engineering. Mandatory reading for practioners and researchers in the field.
The book is a bit silver-bulletish: pompous terms, academic "serious" style, predictions, they're all there. Yet the practical examples the authors give are not very conclusive.
The book is too long. A very hard, and not much rewarding, read. And the forward references are really annoying. Practically the first half of the book keeps saying that the details about X, or even the full definition of X, will be found in a subsequent chapter...
Too hard to read, too little outcome for me as a reader. The information is there but it's drawned in mere fluff.
The question addressed by this book is how can we go about designing programs that generate programs? How might we specify families of programs to cover whole domains of problems, in the same sense that a modern auto design specifies a near infinity of specific autos with varying sets of options? How might we implement such designs - and what tools are currently available, or under construction, for doing so? How do we go about thinking about such questions?
This book doesn't have all the answers, but certainly the ideas of feature modelling and domain-specific languages must be parts of the answer. If we stuck to those sections of the book (chapters 1-5), it would be important enough, but unsatisfying without any means of implementing something - and probably too short for a PhD thesis!
The majority of the book looks at a variety of implementation approaches - a few briefly, one (intentional programming) in somewhat more depth, and focuses on C++ template metaprogramming as the one most of us can do something concrete with today. Even there - as the MS Visual C++ compiler doesn't support partial template specialization - it's difficult to experiment. Too, the quote at the beginning of chapter 10 says it all: "I always knew C++ templates were the work of the Devil, and now I'm sure." (Cliff Click).
But that's not the point. More effective tools will come, but only after we think hard about what kind of tools we need - just as C++ was the culmination of a lot of people thinking hard about object oriented programming. This book opens the door - and our eyes - to what might someday be. At that level, it's breathtaking.
If you agree with the quote opening chapter 9: "I would rather write programs to help me write programs than write programs" (Dick Sites), then this book is for you. If you think that's nonsense, you'll get little or nothing out of it.
In recent years, we've seen a growing awareness that the major source of trouble in large-scale software development are computational aspects that spread through functional modules. The idea goes back to the Dijkstra's concept of "separation of concerns". There are a number of initiatives (all of them are described in book) to tackle the problem of such de-localized computational aspects. Software architecture is the conceptual means to achieve separation of concerns and generative programming techniques provide automatic means for program composition out of separately defined computational aspects. The book explains in a very clear way how generative techniques can help us overcome problems with reuse and evolution of objects and components.
With permission of authors, I used chapters from Generative Programming in the graduate course on Product Line approach (the book was not published yet at that time). In opinion of my students and my own too, the book provides an excellent and systematic discussion of a Product Line approach and issues that matter in domain engineering. The book is very informative, interesting and fun to read.


