This week's book giveaway is in the Android forum.
We're giving away four copies of Head First Android and have Dawn & David Griffiths on-line!
See this thread for details.
The moose likes Book Reviews and the fly likes Domain-Specific Languages (Addison-Wesley Signature Series) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Head First Android this week in the Android forum!
JavaRanch » Java Forums » Books » Book Reviews
Bookmark "Domain-Specific Languages (Addison-Wesley Signature Series)" Watch "Domain-Specific Languages (Addison-Wesley Signature Series)" New topic

Domain-Specific Languages (Addison-Wesley Signature Series)

Book Review Team

Joined: Feb 15, 2002
Posts: 950
Author/s    : Martin Fowler
Publisher   : Addison-Wesley Professional
Category   : Other
Review by : Campbell Ritchie
Rating        : 8 horseshoes

Before reading this review, go to the "Amazon" link below, and use the "look inside" link to see nearly 40 pages.

By no means a "general" book; it deals with a very specialised field. It assumes experience, that the reader already knows what recursive descent parsing (page 245-254) is.
We start with a "narrative", describing the problem, and how Domain-Specific Languages (DSLs) can help, using a "secret passage" as an example. Then we read about 45 patterns, listed on the endpaper, (plus BNF); they range from Literal Extension (changing 2 oz to 2.oz, for example, with the only misprint I noticed: 0.567[kg], page 481) to Parser Generation. The patterns are illustrated with Java™ or C# code examples, and balanced by "how do I?" questions on the back endpaper.
This book is clearly written, and easy to read, but moves fast and is information-dense, so cannot be read too fast. Indeed Fowler doesn't intend the patterns to be read together, but dipped into for reference.
The patterns cover the whole gamut of language generation, and somebody who already knows about compilers would easily write a DSL with Fowler to hand.
Fowler provides a comprehensive index, but I would have preferred to see more of a bibiography, and also I couldn't find a description of the cover photo (probably Ironbridge).

I believe anybody in this specialised field would benefit from a copy of Fowler.

Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.

More info at
Book Review Team

Joined: Feb 15, 2002
Posts: 950
Review by : Deepak Bala
Rating        : 8 horseshoes

The sample chapter that details an introductory example into 'gothic security' should give a good idea about the contents of this book. Fowler first describes DSLs and how he distinguishes between them. This is followed by text that describes how to apply a technique / pattern to solve a recurring problem.

The layout of the patterns can be juxtaposed to the generic design patterns that are used to solve day-to-day problems in programming (think Iterator / Builder / AbstractFactory etc). As such the patterns are laid out in a similar fashion in this book. Each section about a pattern focuses on the 'why' / 'what' / 'when' and 'how'.

You can think of the book as being split into two parts. The first part describes how DSLs are defined and makes many references to techniques in part-2. The second part is divided into several sub sections that defines each technique and when to apply them.

When you are done with part-1, the book makes for a good reference that you can come back to. The only problem is that you can end up slowing down considerably while reading part-1 since there are references to the second part all the time. I found myself reading a section in part-2 and coming back to part-1 when it made sense. An example would the reference to 'ExpressionBuilders' when defining 'Functions'. You cannot understand the context of the text unless you refer 'ExpressionBuilders' in part-2.

Overall, this book makes for a great read and will help anyone that wants to define their own domain language.

Disclosure: I received a copy of this book from the publisher in exchange for writing this review on behalf of CodeRanch.

More info at
Raghavan Muthu
Ranch Hand

Joined: Apr 20, 2006
Posts: 3381

That is a very good review ! Thanks for the same.

Everything has got its own deadline including one's EGO!
[CodeBarn] [Java Concepts-easily] [Corey's articles] [SCJP-SUN] [Servlet Examples] [Java Beginners FAQ] [Sun-Java Tutorials] [Java Coding Guidelines]
I agree. Here's the link:
subject: Domain-Specific Languages (Addison-Wesley Signature Series)
It's not a secret anymore!