Add your free 30-day trial of Prime and enjoy Prime Video, Prime Music, and more
Amazon prime logo
Buy new:
-7% $60.19
Delivery Friday, July 19
Ships from: Amazon
Sold by: Mapple Shops
$60.19 with 7 percent savings
List Price: $64.99

The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE International Returns
No Import Fees Deposit & $20.28 Shipping to Finland Details

Shipping & Fee Details

Price $60.19
AmazonGlobal Shipping $20.28
Estimated Import Fees Deposit $0.00
Total $80.47

Delivery Friday, July 19
Or fastest delivery Wednesday, July 10. Order within 5 hrs 47 mins
Only 1 left in stock - order soon.
$$60.19 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.19
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon
Ships from
Amazon
Sold by
Sold by
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
Eligible for Return, Refund or Replacement within 30 days of receipt
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Returns
Eligible for Return, Refund or Replacement within 30 days of receipt
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Payment
Secure transaction
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
$8.37
May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less May have limited writing in cover pages. Pages are unmarked. ~ ThriftBooks: Read More, Spend Less See less
$29.04 delivery July 23 - August 13. Details
In stock
$$60.19 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$60.19
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Ships from and sold by ThriftBooks-Phoenix.
Added to

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Kindle app logo image

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.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Generative Programming: Methods, Tools, and Applications 1st Edition

4.3 4.3 out of 5 stars 27 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$60.19","priceAmount":60.19,"currencySymbol":"$","integerValue":"60","decimalSeparator":".","fractionalValue":"19","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"4OZ8hF%2FQWWUUeLlrcwWsEr7xmTbxFxj7Uo2KPEV%2FOX25usuMEDCi0pO%2F5QFmq2xjUBp0WDQn5xdVKNp7HjcAnz5AIbT3MwGvKKbQmCloE37j%2F6YP2cxP5jaqyyQ4pxJwyaK4YdD%2F6E5EhQp5rtEPJxgaPzglHCUz7tfsrc184f1TFKI3tSI99CRYndXlLvl2","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$8.37","priceAmount":8.37,"currencySymbol":"$","integerValue":"8","decimalSeparator":".","fractionalValue":"37","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"4OZ8hF%2FQWWUUeLlrcwWsEr7xmTbxFxj7V6I1QAHBdByz%2FUpmA8UccYI4TU1R8Ly%2BLsM6NG0bQh26UMIJKMBZ6AOH%2BDFFWJ%2B%2FytVpyphgLefiolWOVg%2B4trqjyn3aaMAM4gUXL1wHw%2BdwAzwG41o%2FrW1UsRjpaYsm8QXukk4BJ3SYAZjJtwTiuZgOwogQJgSb","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

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.

Customer reviews

4.3 out of 5 stars
4.3 out of 5
27 global ratings

Top reviews from the United States

Reviewed in the United States on October 4, 2009
This book has revolutionary concepts and practical solutions on how to capture the variability in software in an
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.
2 people found this helpful
Report
Reviewed in the United States on May 4, 2016
very good book, especially for programmers c ++
Reviewed in the United States on May 29, 2001
I bought the book with much hope... yet I was unhappy with it. I am looking for new, improved ways to design and implement programs using C++, and sadly this book doesn't offer much help in that direction.
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.
14 people found this helpful
Report
Reviewed in the United States on September 12, 2007
This book has some cool stuff and I was quite impressed by the part on functional programming using C++ template. Do you know C++ template has the same computing power as a Tuning machine.
Reviewed in the United States on October 11, 2016
The packaging was too thin (plástic bag), and part of the book was folded so I will have to put some weight on it to fix it. Otherwise OK.
One person found this helpful
Report
Reviewed in the United States on January 23, 2001
If we think of OOP as a level of abstraction beyond procedural programming, we can ask the question "what's the next level of abstraction beyond OOP?" Application of OOP allows us to design and create programs of far greater complexity than traditional procedural approaches. Similarly, another level of abstraction should lead to a quantum leap in our abilities, both conceptually and practically.
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.
16 people found this helpful
Report
Reviewed in the United States on August 12, 2000
This is a seminal and very timely book. It is great in many ways, but for me the greatest value of Generative Programming is in providing a unified view on major past and current trends in software engineering. Last two decades have seen many trends whose proponents were promising major breakthroughs in the way to develop software, that would lead to orders of magnitude improvements in software productivity. While most of promises remained unfulfilled, each wave of thought had merits and lasting contributions. Generative Programming paints a big picture of where we are in software engineering, puts past and current trends into a perspective from which we can see their contributions and shortcomings. For software engineering practitioners and researchers, the book is a guideline in the jungle of contradicting opinions and terminological mess that proliferates the discipline.
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.
One person found this helpful
Report

Top reviews from other countries

Translate all reviews to English
Eduardo
5.0 out of 5 stars Libro recomendado
Reviewed in Spain on August 2, 2015
Mejor de lo que esperaba. Un buen libro para ampliar conocimientos de c++, y aprender técnicas poco usuales mediante explicaciones y ejemplos claros.
F. Bergemann
5.0 out of 5 stars a MUST HAVE for C++ Programmers
Reviewed in Germany on January 23, 2009
If you tried the book "C++ Template Metaprogramming" (from the "C++ in-depth" series) and would just like to have another way to get the point, then use this book. Chapter 10 "Static Metaprogramming in C++" is really helpful. But this book has much more (e.g. aspect-oriented programming). I also like the lots of cross-references to other useful books and publications. It's within my top-five books for programming.
One person found this helpful
Report
mezastel
3.0 out of 5 stars More like a PhD thesis
Reviewed in the United Kingdom on June 9, 2013
As I'm writing the review, the year is 2013 and I think by now most people recognize that while C++ template metaprogramming is 'quaint' and can, in certain cases, produce excellent results, we're way past the situation where this would actually be recommended in a production setting. Alexandrescu himself went off to work with Walter Bright on D instead (see  The D Programming Language ), and this book, which actually has a feed of a PhD thesis on system-level software engineering, serves as a reminder that not all methodologies survive and thrive, and that some are left by the wayside. Don't get me wrong, C++ is still alive and kicking, and there may be some uses to metaprogramming-based design, but abusing the preprocessor to evaluate templates at compile time and build structures is something that D also does very well with its mixins and without so much template magic.