Take a photo of a barcode or cover

blairconrad 's review for:
DSLs in Boo: Domain-specific Languages in .NET
by Ayende Rahien
I hesitated over giving this book 5 stars, mostly because of the focused subject matter. Oh, and there are a few typos one or two in semi-critical locations.
I think the book deserves it, though. Rahien gives a comprehensive introduction to DSLs, why we might want to use them, and how to construct them using Boo.
His Boo introduction has fired me up about the language more than I've been in the past, and he delivers an excellent overview of the tools that it contains that can help you write a DSL.
Unlike many technical books, after covering the technical subject (constructing a DSL using Boo), this one then at least introduces, and in many cases covers in moderate depth, aspects related to using DSLs, including:
* testing DSLs
* versioning DSLs
* creating GUIs for DSLs, and
* documenting DSLs (and this section works really well as general-purpose "how to document software" instruction
and probably more. Already my brain is full.
The examples in the book are quite good, but the material is by no means spoon-fed to the reader - I found myself flipping back and forth between pages, piecing the DSL components together. Often this would've bothered me a little, but it is a complicated subject, and I didn't get the impression that I had to do this due to the author's laziness or lack of skill.
Highly entertaining and educational if you don't have to build a DSL soon, and essential if you do.
I think the book deserves it, though. Rahien gives a comprehensive introduction to DSLs, why we might want to use them, and how to construct them using Boo.
His Boo introduction has fired me up about the language more than I've been in the past, and he delivers an excellent overview of the tools that it contains that can help you write a DSL.
Unlike many technical books, after covering the technical subject (constructing a DSL using Boo), this one then at least introduces, and in many cases covers in moderate depth, aspects related to using DSLs, including:
* testing DSLs
* versioning DSLs
* creating GUIs for DSLs, and
* documenting DSLs (and this section works really well as general-purpose "how to document software" instruction
and probably more. Already my brain is full.
The examples in the book are quite good, but the material is by no means spoon-fed to the reader - I found myself flipping back and forth between pages, piecing the DSL components together. Often this would've bothered me a little, but it is a complicated subject, and I didn't get the impression that I had to do this due to the author's laziness or lack of skill.
Highly entertaining and educational if you don't have to build a DSL soon, and essential if you do.