Join Amazon Prime and get unlimited Free One-Day Delivery. Already a member? Sign in.

 

or
Sign in to turn on 1-Click ordering.
 
   
More Buying Choices
23 used & new from £14.10

Have one to sell? Sell yours here
 
   
Generative Programming: Methods, Techniques and Applications
 
See larger image
 

Generative Programming: Methods, Techniques and Applications (Paperback)

by Krysztof Czarnecki (Author), Ulrich Eisenecker (Author)
4.4 out of 5 stars See all reviews (5 customer reviews)
RRP: £37.99
Price: £32.29 & this item Delivered FREE in the UK with Super Saver Delivery. See details and conditions
You Save: £5.70 (15%)
In stock.
Dispatched from and sold by Amazon.co.uk. Gift-wrap available.

Only 1 left in stock--order soon (more on the way).

Want guaranteed delivery by Tuesday, July 7? Choose Express delivery at checkout. See Details
14 new from £25.05 9 used from £14.10

Frequently Bought Together

Generative Programming: Methods, Techniques and Applications + Code Generation in Action + Founders at Work : Stories of Startups' Early Days: Stories of Startups' Early Days (Recipes: a Problem-Solution Ap)
Price For All Three: £86.56

Show availability and shipping details


Customers Who Bought This Item Also Bought

Code Generation in Action

Code Generation in Action

by Jack Herrington
£40.50
Design patterns : elements of reusable object-oriented software

Design patterns : elements of reusable object-oriented software

by Erich Gamma
4.6 out of 5 stars (38)  £29.39
The Mythical Man Month and Other Essays on Software Engineering

The Mythical Man Month and Other Essays on Software Engineering

by Frederick P. Brooks Jr.
4.3 out of 5 stars (24)  £16.09
Beyond the C++ Standard Library: An Introduction to Boost

Beyond the C++ Standard Library: An Introduction to Boost

by Bjorn Karlsson
4.3 out of 5 stars (3)  £30.59
C++ Templates: The Complete Guide

C++ Templates: The Complete Guide

by David Vandevoorde
5.0 out of 5 stars (3)  £35.69
Explore similar items

Product details

  • Paperback: 864 pages
  • Publisher: Addison Wesley (14 Jun 2000)
  • Language English
  • ISBN-10: 0201309777
  • ISBN-13: 978-0201309775
  • Product Dimensions: 23.6 x 19 x 4.6 cm
  • Average Customer Review: 4.4 out of 5 stars See all reviews (5 customer reviews)
  • Amazon.co.uk Sales Rank: 35,723 in Books (See Bestsellers in Books)

    Popular in this category:

    #22 in  Books > Computing & Internet > Computer Science > Architecture & Microprocessors
  • See Complete Table of Contents

Customers Viewing This Page May Be Interested in These Sponsored Links

  (What is this?)
CodeSmith Code Generator
   www.codesmithtools.com    Template-driven. Easy to use. Your code. Your way. Faster! 
Programming Experts
   www.TometaSoftware.com    Bespoke Application Programming Programming - Get a Quote 
Programming
   www.bbconsult.co.uk    Custom Software Development Technical Consultancy Services 
  
 

Product Description

Product Description

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.



From the Back Cover

Praise for Generative Programming

“The book develops strong themes around unifying principles that tie the pieces together, most notably domain engineering and metaprogramming. It’s crucial to understand that this book is not just some refreshing diversionn or just an exposition of some noteworthy niche techniques. It is a harbinger of a broader enlightenment that opens the door to a new age.”

—from the foreword by JAMES COPLIEN, a Distinguished Member of Technical Staff at Lucent Technologies' Bell Laboratories, Naperville, IL

“Generative Programming offers a well-written and comprehensive discussion that integrates object technology and domain engineering. The authors’ approach to software systems generation provides very clear insights into practices essential for systematic reuse and software product lines.”

SHOLOM COHEN, a Senior Member of the Technical Staff of the Software Engineering Institute (SEI), Pittsburgh, PA, and a co-developer of the Feature Oriented Domain Analysis (FODA) method

“If you believe that the systems you develop today will share concepts with the systems you will develop tomorrow, then the practical techniques presented in this book will reduce your time to market, decrease your engineering costs, and improve your software quality. These techniques are essential for both practitioners and researchers concerned with modern system development.”

JAMES NEIGHBORS, President of Bayfront Technologies, Inc., Newport Beach, CA, and the author of the Draco approach

“The authors present a grand tour of Generative Programming which is bound to become a classic. They properly focus on the generally unappreciated connection between Domain Specific Languages and Generative Programming as a motivation for future development. The wide-ranging and practical methods for Domain Analysis and Domain Engineering describe the first steps that developers can take right now. They are valuable both when existing systems are used or in preparation for emerging new generative technologies.”


CHARLES SIMONYI, Chief Architect at Microsoft Research, Redmond, WA, and the inventor of Intentional Programming

Generative Programming (GP) offers great promise to application developers. It makes the idea of moving from Ione of a kindO software systems to the semi-automated manufacture of wide varieties of software quite real. In short, GP is about recognizing the benefits of automation in software development. Generative Programming covers methods and tools that will help you design and implement the IrightO components for a system family and automate component assembly. The methods presented here are applicable for all commercial development--from "programming in the small," at the level of classes and procedures--to "programming in the large," or developing families of large systems.

Generative Programming is your complete guide and reference to this emerging discipline. It provides in-depth treatment of critical technologies and topics including:

  • Domain Engineering
  • Feature Modeling
  • Generic Programming
  • Aspect-Oriented Programming
  • Template Metaprogramming in C++
  • Generators
  • Microsoft's Intentional Programming

Using this book you will learn how these techniques fit together and, more importantly, how to apply them in practice. The text contains three comprehensive case studies in three different domains: programming domain (container data structures), business domain (banking), and scientific computing (matrix computations).





See all Product Description

Suggested Tags from Similar Products

 (What's this?)
Be the first one to add a relevant tag (keyword that's strongly related to this product)
Check a corresponding box or enter your own tags in the field below
programming
generic
todo
software engineering
software development
generic programming
generative programming
design patterns
cplusplus
compilers

Your tags: Add your first tag
 

 

Customer Reviews

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

 
3 of 3 people found the following review helpful:
4.0 out of 5 stars wide-ranging in scope, but heavy on C++ templates, 2 Mar 2007
This book does cover lots of techniques that fall under the rubric of generative programming, but be warned that there is a strong emphasis on C++ template metaprogramming. If you don't know C++, or are a bit fuzzy on template syntax, you'll be missing a lot. Consider this a C++ template metaprogramming book, with some bonus chapters to put it all in context.

The opening chapters are a bit dull, containing a plethora of acronyms and jargon about various design methodologies, none of which seem to have made any particular impact in the last few years. I tentatively diagnose a mixture of thesis-itis and maybe translation-itis. If it's the former, I wouldn't be surprised to find that this made up part of the introduction or literature review chapter. However, the concept of feature diagrams is quite interesting, as it allows a graphical representation of a design specifying features and other properties (such as whether they're optional), without requiring any implementation (e.g. inheritance or parametric polymorphism), which is not possible with UML. How revelatory this is may depend on how seriously you take UML as a modelling tool, versus a convenient set of boxes and lines for representing class design.

There are also chapters on Aspect Oriented Programming, which is a pretty good survey of the field, and which provides useful motivation beyond logging. Additionally, there's a chapter on generators, which provide a convenient Domain Specific Language for specifying behaviour and performance of software components (list containers is the example in the book).

There's also a rather vacuous chapter on intentional programming, the brainchild of Charles Simonyi. It's an interesting enough idea, sitting somewhere between MDA, the Smalltalk class browser, and a souped-up IDE, but there's been absolutely no progress on it since the book was published, because Microsoft didn't release it, and Simonyi wasn't allowed to take any of the code with him when he left to set up Intentional Software. This chapter is ok on the big idea, albeit a bit breathless given it's not been shown to produce any useful software, but the worked example has all the allure of an Eclipse plugin tutorial.

The above material is sporadically interesting, but often a little pedestrian. However, the real action of the book takes place in the chapters on template metaprogramming in C++, which demonstrates how to generate related families of classes at compile time, using template instantiation and careful use of inlining to avoid inefficient virtual calls and indirection. It's very impressive. There are several examples, including a class hierarchy for a banking domain, and an in depth treatment of a matrix library, which successfully unifies all the types (sparse, full, banded etc.) under one library, while maintaining performance competitive with Fortran.

These C++ chapters demonstrate the ideas of the book in practice most clearly, although it also underlines the need for new tools and language features, given the outrageous ugliness of the compiler/template-abuse that is metaprogramming. On the other other hand, it is kind of cool to see colons, angle brackets and other bits of C++ coalesce into a strange new dialect using the compiler as an interpreter. If you're going to get anything at all out of these chapters, you do need to be comfortable with C++ templates. It would probably also help to have read something like Barton and Nackman's book, 'Scientific and Engineering C++', their unorthodox template designs providing a good warm up for what's in this book.

If you don't program in C++, or don't care for template metaprogramming, you may not find huge value for money in the other chapters. And admittedly, the writing style hardly sets the pulse racing. But if you're looking to do some intellectual stretching before taking on Andrei Alexandrescu's Modern C++ Design (and that's probably a very good idea), step right up!
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
1 of 1 people found the following review helpful:
4.0 out of 5 stars Great book, 8 Sep 2002
I really liked this book. Very interesting ideias. The first part can be a little hard to read, as it's a little bit too much theory for me to handle at one time, but when we reach the second part, and especially the third (the examples), it becames quite interesting and enthusiastic. I only think it could have been better if the authors didn't separate the chapters so well, it turnded it a little more boring to read. In spite of this, it's still very worth buying.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
5 of 10 people found the following review helpful:
5.0 out of 5 stars A must-read for software developers, 24 Jan 2001
This is a truly excellent book. If you're involved in software development, you _really_ need to read this. It covers some very complex concepts in a clear, easy-to-read manner (although you may find yourself having to read some sections two or three times - in fact, if you don't, you probably didn't read it properly the first time through! :-) I really can't recommend this book highly enough. (And why can I only give it five stars...)
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars A difficult, but in the end probably the more rewarding IT book I have ever read.
This is a fantastic book. No IT book has ever made such an impression on me as this book. But at the same time it has been one of the hardest IT books I have ever read... Read more
Published 15 months ago by A. A. Moolenaar

4.0 out of 5 stars The Classic Book
This seems to be The Classic Book on generative programming. It is divided in 3 parts: domain engineering, implementation technology and examples. Read more
Published on 11 Mar 2003

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]

   


Listmania!


Look for similar items by category


Look for similar items by subject


Feedback


The Body Shop

The Body Shop - Vitamin C Skin Boost
Protect and boost your glow with The Body Shop Vitamin C Skin Boost.

Shop The Body Shop

 

Let Olay Amaze You

Olay Total Effects Day Moisturiser SPF15 50ml
Amazon.co.uk sells all your favourite ranges from Olay, including Regenerist and Total Effects.

Discover Olay at Amazon.co.uk

 

Train Hard...Play Hard

Nike, Gola, Converse, and more
Gear up with up to 60% off athletic and outdoor shoes.

Shop now

 

Treat Someone

Amazon.co.uk Gift Certificates--available in any amount from £5 to £500 With an Amazon.co.uk Gift Certificate, you can get them what they want (even if you don't know what that is).

Learn more about Gift Certificates

 
Ad

Where's My Stuff?

Delivery and Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue Shopping: Top Sellers

amazon.co.uk Amazon Home
International Sites:  United States  |  Germany  |  France  |  Japan  |  Canada  |  China
Business Programs: Sell on Amazon  |  Fulfilment by Amazon  |  Join Associates  |  Join Advantage
Customer Service  |  Help  |  View Basket  |  Your Account
About Amazon.co.uk  |  Careers at Amazon
Conditions of Use & Sale |  Privacy Notice  © 1996-2009, Amazon.com, Inc. and its affiliates